From a578a5e6543661f8c12c1e7356737c672a4ce1e6 Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Tue, 27 Oct 2026 12:48:14 +0100 Subject: [PATCH 01/80] initial release note --- .../releases/release_note_score_v0_10.rst | 327 ++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 docs/s_core_v_1/releases/release_note_score_v0_10.rst diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst new file mode 100644 index 00000000000..fdf3c8a3741 --- /dev/null +++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst @@ -0,0 +1,327 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +S-CORE Platform v0.10 release note +================================== + +.. document:: S-CORE v0.10 release note + :id: doc__score_v010_release_note + :status: valid + :safety: QM + :security: YES + :realizes: wp__platform_sw_release_note + :version: 1 + +| **Platform Release:** S-CORE +| **Release Tag:** v0.10.0 +| **Origin Release Tag**: v0.9.0 +| **Release Date:** 2026-11-02 + + +Overview +^^^^^^^^ + +This document provides an overview of the changes, improvements, and bug fixes +included in the software platform release version v0.10.0 as compared to the +previous platform release (v0.9.0). + +The v0.10 release replaces the resolved-dependency override mechanism of v0.9 +with a two-stage DR-008 test workflow, in which every integrated module is +tested with its own test suite against the unified toolchain configuration of +the reference integration. It adds an SBOM to the build, introduces +showcase-based platform integration tests linked to stakeholder requirements, +extends requirement coverage with module-owned tests, deduplicates the QNX and +Linux image definitions, and updates all integrated modules to their latest +known-good state. + +Disclaimer +---------- + +This release note does not "release for production", as it does not come with a +safety argumentation and a performed safety assessment. +The work products compiled in the safety package are created with care according +to a process satisfying standards, but the project, being a non-profit and open +source organization, can not take over any liability for its content. + +Changes to the Platform +^^^^^^^^^^^^^^^^^^^^^^^ + +New Features +------------ + +Integration Strategy (DR-008) Test Workflow +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The DR-008 implementation was reworked into a two-stage test workflow: + +- **Stage 1** builds and tests the reference integration with all modules as + pinned in ``known_good.json``. +- **Stage 2** runs the test suite of each target software module on its own, + with the known-good versions injected via ``--override_module`` and the + toolchains and platforms shared through ``bazel_common/unified.bazelrc`` and + ``bazel_common/unified_toolchains.MODULE.bazel``. + +The new ``scripts/module_tests.py`` and the ``module_tests.yml`` workflow make +this available for pull requests. Under ``bazel coverage`` the unified +configuration uses clang (LLVM) as C++ toolchain, while builds stay on GCC. +Module-specific exclusions are documented in the new ``metadata.test_notes`` +field of ``known_good.json``. + +The resolved-dependency override mechanism introduced in v0.9 +(``scripts/known_good/resolved_dependencies.py``) was removed in favour of this +workflow. + +Software Bill of Materials (SBOM) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The reference integration now generates an SBOM via +`score_sbom `_ (``0.1.1``). All target +software modules are tracked and the SBOM is uploaded as a CI build artifact. + +Platform Integration Tests +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A new ``platform_integration_tests/`` package runs the ``//showcases`` demo +applications for Communication, Kyron, Lifecycle, Logging and Time as ITF +tests. They are linked to the platform stakeholder requirements, which are now +reported in a dedicated "Stakeholder Requirements" chapter of the platform +verification report. + +Improvements +------------ + +Requirement Coverage from Module Tests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Lifecycle integration tests, the Logging component tests and the Persistency +component integration tests are now executed by the reference integration, so +their ``PartiallyVerifies``/``FullyVerifies`` links appear in the verification +reports. The Logging integration tests were re-enabled after fixing the +datarouter configuration packaging. + +Reference Images +~~~~~~~~~~~~~~~~ + +- ``score_rules_imagefs`` was updated from ``0.0.1`` to ``0.1.0``, migrating the + image definitions to ``rules_pkg`` ``pkg_files``. +- QNX and Linux image definitions were deduplicated into shared packages + (``//images/common/apps``, ``//images/qnx_common/build``, + ``//images/qnx_common/configs``). + +Documentation +~~~~~~~~~~~~~ + +- Documentation is now generated from ``known_good.json`` + (``bazel_common/docs_bundles.bzl``); the Time documentation bundle was + enabled. +- The verification report was restructured: the former platform verification + report page became the status dashboard, module verification reports + (Lifecycle, Logging, Persistency, ...) are linked from a common index, and + unit test and coverage summaries are nested under the Platform Verification + Report. + +CI +~~ + +- The documentation build runs as a separate, fail-fast workflow. +- Bazel cache keys rotate on module bumps; the test cache is trusted on push + and fresh runs are gated on tags. +- Failing module tests are reported by module name. +- Dashboard documentation links are branch-aware. + +Incompatible Changes +-------------------- + +.. warning:: + + The resolved-dependency override mechanism introduced in v0.9 + (``scripts/known_good/resolved_dependencies.py``) and the ``rust_coverage`` + package were removed. Users relying on them need to switch to the DR-008 + test workflow (``scripts/module_tests.py``) and the unified configuration + in ``bazel_common/unified.bazelrc``. + +S-CORE Platform scope +^^^^^^^^^^^^^^^^^^^^^ + +- **Version:** ``6d65a262c232`` (commit) +- **Release notes**: `S-CORE platform release notes + `_ + +Integrated Software Modules +--------------------------- + +Baselibs +~~~~~~~~ + +- ... + +Communication +~~~~~~~~~~~~~ + +- ... + +Persistency +~~~~~~~~~~~ + +- ... + +Lifecycle +~~~~~~~~~ + +- ... + +Logging +~~~~~~~ + +- ... + +Time +~~~~ + +- ... + +Configuration Management +~~~~~~~~~~~~~~~~~~~~~~~~ + +- ... + +Kyron +~~~~~ + +- ... + +Reference integration +~~~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v0.10.0`` +- **Source / tag:** `Reference integration releases + `_ + +- Added the two-stage DR-008 test workflow and removed the resolved-dependency + override mechanism. +- Added SBOM generation. +- Added showcase-based platform integration tests. +- Executed Lifecycle, Logging and Persistency module tests for requirement + coverage. +- Deduplicated QNX/Linux image definitions. + +Reference QNX image ++++++++++++++++++++ + +- Image definitions migrated to ``score_rules_imagefs`` ``0.1.0`` and + deduplicated between ``qnx_x86_64`` and ``qnx_aarch64``. + +Reference Red Hat AutoSD Linux image (Experimental) ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- Updated to a newer AutoSD OCI image. + +Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimental) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- No functional changes in this release. + +Associated Infrastructure Modules +--------------------------------- + +Process description +~~~~~~~~~~~~~~~~~~~ + +- ... + + +Docs-as-code +~~~~~~~~~~~~ + +- ... + + +Tooling +~~~~~~~ + +- ... + + +Tools +~~~~~ + +- ... + +Platform +~~~~~~~~ + +- ... + +ITF (Integration Testing Framework) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- ... + +Test Scenarios +~~~~~~~~~~~~~~ + +- ... + +Crates +~~~~~~ + +- ... + +Bazel CPP Toolchain +~~~~~~~~~~~~~~~~~~~ + +- ... + +Bazel Platforms +~~~~~~~~~~~~~~~ + +- ... + +Compatibility +^^^^^^^^^^^^^ + +- **Dependencies:** See `Incompatible Changes`_. + +Performed Verification +^^^^^^^^^^^^^^^^^^^^^^ + +- See latest verification: :need:`doc__platform_verification_report_latest`. + +Known Issues/Vulnerabilities and Bug Fixes +------------------------------------------ + +- See release notes of every module separately. +- Several modules are integrated from commit hashes instead of published + registry releases. +- Some module tests are excluded or relaxed under the clang coverage toolchain + (Time, Baselibs, Lifecycle); see ``metadata.test_notes`` in + ``known_good.json``. +- The reference integration carries integration patches for Baselibs, + Communication, Configuration Management, Lifecycle, Logging, Persistency, + Platform, Time and ``rules_rust``. See the ``patches/`` directory for details. + +Upgrade Instructions +-------------------- + +- Increase to newest bazel registry versions: + https://eclipse-score.github.io/bazel_registry_ui +- Versions can be found under: + https://github.com/eclipse-score/reference_integration/blob/v0.10.0/known_good.json + +Contact Information +------------------- + +For any questions or support, please contact the *Project leads* or raise an +issue/discussion. +https://projects.eclipse.org/projects/automotive.score From 9934dfb2f60c099250234f2dc10fa30467e4fb49 Mon Sep 17 00:00:00 2001 From: "Schu, Markus" Date: Tue, 27 Oct 2026 13:03:05 +0100 Subject: [PATCH 02/80] add process_description release --- docs/s_core_v_1/releases/release_note_score_v0_10.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst index fdf3c8a3741..a7d072dda3b 100644 --- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst +++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst @@ -238,8 +238,9 @@ Associated Infrastructure Modules Process description ~~~~~~~~~~~~~~~~~~~ -- ... - +- **Version:** ``2.2.2`` (previously ``2.1.2``) +- **Release notes**: `Process description releases + `_ Docs-as-code ~~~~~~~~~~~~ From cb89c10a49e1058ca6e4f01495530be30db5441b Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Wed, 28 Oct 2026 10:41:09 +0100 Subject: [PATCH 03/80] Bump test scenarios to v0.5.0 and depending modules to newest main updated modules: - kyron - persistency - test scenarios --- MODULE.bazel.lock | 38 +++++----- .../score_modules_target_sw.MODULE.bazel | 4 +- .../score_modules_tooling.MODULE.bazel | 5 +- .../persistency/test_combined_requirements.py | 74 +++++++++---------- .../test_scenarios/cpp/BUILD | 4 +- .../internals/persistency/kvs_build_helpers.h | 42 +++++++---- .../internals/persistency/kvs_instance.cpp | 42 ++++++----- .../src/internals/persistency/kvs_instance.h | 2 +- .../persistency/supported_datatypes.cpp | 6 +- .../scenarios/persistency/utf8_defaults.cpp | 32 ++++---- .../test_scenarios/rust/BUILD | 2 +- .../persistency/supported_datatypes.rs | 6 +- .../scenarios/persistency/utf8_defaults.rs | 30 ++++---- known_good.json | 11 ++- .../003-undev-deps-for-root-module.patch | 25 ++++--- 15 files changed, 168 insertions(+), 155 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 2e2835f4fe3..0540baff444 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -25,7 +25,9 @@ "https://bcr.bazel.build/modules/apple_support/1.22.1/MODULE.bazel": "90bd1a660590f3ceffbdf524e37483094b29352d85317060b2327fff8f3f4458", "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442", "https://bcr.bazel.build/modules/apple_support/1.24.1/MODULE.bazel": "f46e8ddad60aef170ee92b2f3d00ef66c147ceafea68b6877cb45bd91737f5f8", - "https://bcr.bazel.build/modules/apple_support/1.24.1/source.json": "cf725267cbacc5f028ef13bb77e7f2c2e0066923a4dab1025e4a0511b1ed258a", + "https://bcr.bazel.build/modules/apple_support/2.8.0/MODULE.bazel": "c45f5176057092afba0be6c48a9ea02101666802f8be536947e099e94757f8ed", + "https://bcr.bazel.build/modules/apple_support/2.9.1/MODULE.bazel": "fb209b83ed172af587419acb3340389cfe3260669e5f1c05e1ac3974aca614e0", + "https://bcr.bazel.build/modules/apple_support/2.9.1/source.json": "247d9f86d94c546533fb01e6e18b018486f9a6dff5faccae8838ef12e659b2a7", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.38.0/MODULE.bazel": "6307fec451ba9962c1c969eb516ebfe1e46528f7fa92e1c9ac8646bef4cdaa3f", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.42.2/MODULE.bazel": "2e0d8ab25c57a14f56ace1c8e881b69050417ff91b2fb7718dc00d201f3c3478", @@ -49,7 +51,6 @@ "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/MODULE.bazel": "74bf20a7a6bd5f2be09607fdb4196cfd6f203422ea271752ec2b1afe95426101", "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836", "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765", "https://bcr.bazel.build/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "1f4c81edd9af0c54e65dedbe36653fc63dc9a91605313d54d5ab371f853d693c", "https://bcr.bazel.build/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "4d36bce3c1347bb4fed5906877dce0e683cb207f4032711aff32334003bcf835", "https://bcr.bazel.build/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "24f49acb3b8375fa138ba6ab53bcf517ae92529770a04ab04d47c958ff47b63e", @@ -72,7 +73,6 @@ "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.2.0/MODULE.bazel": "122b2b606622afbaa498913d54f52d9bcd2d19a5edd1bd6d6c5aa17441c4d5f9", "https://bcr.bazel.build/modules/bazel_features/1.20.0/MODULE.bazel": "8b85300b9c8594752e0721a37210e34879d23adc219ed9dc8f4104a4a1750920", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a", @@ -212,7 +212,6 @@ "https://bcr.bazel.build/modules/boringssl/0.20241024.0/MODULE.bazel": "b540cff73d948cb79cb0bc108d7cef391d2098a25adabfda5043e4ef548dbc87", "https://bcr.bazel.build/modules/boringssl/0.20251124.0/MODULE.bazel": "1e107f2b52cc5e002924bc3b33bb60516f96f91b51eb523127df9ea9a944a3b4", "https://bcr.bazel.build/modules/boringssl/0.20251124.0/source.json": "2f325a76db6c6e14c4db923a26aa9a4bfbbd03e61b9256311f460c18bfba6013", - "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "37389c6b5a40c59410b4226d3bb54b08637f393d66e2fa57925c6fcf68e64bf4", "https://bcr.bazel.build/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "537faf0ad9f5892910074b8e43b4c91c96f1d5d86b6ed04bdbe40cf68aa48b68", "https://bcr.bazel.build/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "a9b689711d5b69f9db741649b218c119b9fdf82924ba390415037e09798edd03", @@ -404,8 +403,10 @@ "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4", "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84", - "https://bcr.bazel.build/modules/rules_cc/0.2.22/MODULE.bazel": "94df4328edef9e44d38de5e73b037cd348e75e7ae55f4e21bf07878c41a31ebb", - "https://bcr.bazel.build/modules/rules_cc/0.2.22/source.json": "b2d6d6f9c332ce269ad75b89c6f3168d809a66173c9040210fb9bcc733ab42fa", + "https://bcr.bazel.build/modules/rules_cc/0.2.20/MODULE.bazel": "f5c07bce5ddcb99be21a0812ff5aadb439e688b7449c6542152363b2fd859c1a", + "https://bcr.bazel.build/modules/rules_cc/0.2.25/MODULE.bazel": "4a3d4f3606d3b3190be495dbc497acca552807d1d5540661ef0d1658472882e3", + "https://bcr.bazel.build/modules/rules_cc/0.2.26/MODULE.bazel": "a9f7b7f4a52747910965bddb1f58fc1fef50604ed1980ebdd16ea6f446d92249", + "https://bcr.bazel.build/modules/rules_cc/0.2.26/source.json": "bf9ff315da6055c1e374d627012cc51947a05b3560674af7d69fbedbb4fde6ef", "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc", "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", "https://bcr.bazel.build/modules/rules_diff/1.0.0/MODULE.bazel": "1739509d8db9a6cd7d3584822340d3dfe1f9f27e62462fbca60aa061d88741b2", @@ -476,7 +477,6 @@ "https://bcr.bazel.build/modules/rules_multirun/0.9.0/MODULE.bazel": "32d628ef586b5b23f67e55886b7bc38913ea4160420d66ae90521dda2ff37df0", "https://bcr.bazel.build/modules/rules_multirun/0.9.0/source.json": "e882ba77962fa6c5fe68619e5c7d0374ec9a219fb8d03c42eadaf6d0243771bd", "https://bcr.bazel.build/modules/rules_multitool/0.11.0/MODULE.bazel": "8d9dda78d2398e136300d3ef4fbcc89ede7c32c158d8c016fa7d032df41c4aaf", - "https://bcr.bazel.build/modules/rules_multitool/0.4.0/MODULE.bazel": "15517987d5c00c9e7faab41fbe22ee67a350b6eabcc1e08baded5c6d9025897f", "https://bcr.bazel.build/modules/rules_multitool/1.9.0/MODULE.bazel": "8a042b0dbf35e4aaa94c28ad69efa75c9e673e9ea4bd5c0fb70bab75ef9c636b", "https://bcr.bazel.build/modules/rules_multitool/1.9.0/source.json": "d9a01604a8b5c4a0e9430824dd34ca5b1b3f5b25277b755e8f3ae91f2c9362a3", "https://bcr.bazel.build/modules/rules_nodejs/5.8.2/MODULE.bazel": "6bc03c8f37f69401b888023bf511cb6ee4781433b0cb56236b2e55a21e3a026a", @@ -496,7 +496,6 @@ "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", - "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "e17f94f8a347e2c808517b65d74988839d2d62daceb50073e44060193b785eb1", "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", @@ -564,7 +563,6 @@ "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/MODULE.bazel": "9b8be503a4fcfd3b8b952525bff0869177a5234d5c35dc3e566b9f5ca2f755a1", "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/MODULE.bazel": "68259b66e5fb84f94fa37125ad476c3eb8edf602a34bf58377cde9a16dd8fa98", "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/source.json": "70d80fe5b626a3fadf812af41dda4a028640a1184f5a3c7e6cb20130d93ed783", - "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91", "https://bcr.bazel.build/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "6cced416be2dc5b9c05efd5b997049ba795e5e4e6fafbe1624f4587767638928", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9", @@ -610,6 +608,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.22.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.23.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.24.1/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/2.8.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/2.9.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.38.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.42.2/MODULE.bazel": "not found", @@ -630,7 +630,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "not found", @@ -649,7 +648,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.17.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.19.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.2.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.20.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.21.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.23.0/MODULE.bazel": "not found", @@ -738,7 +736,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20240913.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20241024.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20251124.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "not found", @@ -885,7 +882,9 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.14/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.17/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.22/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.20/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.25/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.26/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_diff/1.0.0/MODULE.bazel": "not found", @@ -949,7 +948,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_license/1.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multirun/0.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.11.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/5.8.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.2.0/MODULE.bazel": "not found", @@ -965,7 +963,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/4.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/7.0.2/MODULE.bazel": "not found", @@ -1009,8 +1006,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.16.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/MODULE.bazel": "1acc254faa90e9f97b79ac69af25b6c21c561f8d6079914f6352b9b20d26bd37", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/source.json": "e3d10be878d1a007967b75a5c6d9c3ec3d47c320685904b7f31c689b3cbcdb3a", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/2.0.2/MODULE.bazel": "6d2b227bb6880e9f6871cc8cf94c83399e35c188424f7e9b826262de8149ed43", @@ -1025,6 +1020,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rust_policies/0.0.5/source.json": "22c8bf0a5cbf7c7b06f774f3f66498e0bc14346a8b2208f7427a8fbb78a42547", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_sbom/0.1.1/MODULE.bazel": "f399cccb3e0a2f413d265f642fda2490f001f5a5ab83fe10acd1d0840f7d4b1c", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_sbom/0.1.1/source.json": "aba932cfdf7a6cc2882fe8cf8cdb2f92ff9b3bbbd8933ba1677c28e548618170", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_test_scenarios/0.5.0/MODULE.bazel": "a8699c4cfa3d49c4c7fde97742d95fb5c3f06f6a12f174c571fd1c696649ca12", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_test_scenarios/0.5.0/source.json": "d18b6ff6600a440be036ad481d1596ec033e302f08ea503c1ffa1bdb37e69859", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/MODULE.bazel": "535296e6cdef55a506c580ca2ce541aa9ddefb354de1a24ab2bd4addc939282b", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/source.json": "8bda773be264da16d2a82a03ebb737421dd4a35855f1e9a5d03d9722d84c1df5", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.5.0/MODULE.bazel": "not found", @@ -1043,7 +1040,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.7.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_llvm/1.8.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "not found", @@ -1541,7 +1537,7 @@ }, "@@bazel_jar_jar+//internal:non_module_deps.bzl%non_module_deps": { "general": { - "bzlTransitiveDigest": "HfYvHyph4US1Rb9jKW7AUfDbE5p9915R85CJ0c14mrk=", + "bzlTransitiveDigest": "WKp1gL89DpGSSx+oIwtE0toTaqU5pfTzmQSNhxgCEwk=", "usagesDigest": "P1uSZ4XnqOp90Mkh0A4Nrjx12Bgz/iceROnSbTsawGk=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -2169,7 +2165,7 @@ }, "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": { "general": { - "bzlTransitiveDigest": "NcCruFgaVG8TOGmWY57IFfvqi/kgV8TWUht9jzdbxII=", + "bzlTransitiveDigest": "lgof385rXHmmk4IC53d7qCeKZlZunQ4c6SX3i40TjMI=", "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -11148,7 +11144,7 @@ }, "@@rules_rust+//crate_universe/private:internal_extensions.bzl%cu_nr": { "general": { - "bzlTransitiveDigest": "gJFTSrkFabveIiWVE5fBJ7+WVJC4WdpWiFteWxRjbic=", + "bzlTransitiveDigest": "NRlprWw35DfgCebgqn1TtCp+nk0JTpyOzUUmi+3dlk8=", "usagesDigest": "1ieIYuafZ1pmP+ncVvISMfB3Em0hv9LCmCRwIH7gL8E=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel index 88b152bf7d1..9b254e54d7d 100644 --- a/bazel_common/score_modules_target_sw.MODULE.bazel +++ b/bazel_common/score_modules_target_sw.MODULE.bazel @@ -43,7 +43,7 @@ git_override( bazel_dep(name = "score_persistency") git_override( module_name = "score_persistency", - commit = "961c0a0989755a1e0fe8de55e83c0a44e2e20b56", + commit = "a804b85f67381378b2250abaa91e0a3a6046e994", patch_strip = 1, patches = [ "//patches/persistency:003-undev-deps-for-root-module.patch", @@ -54,7 +54,7 @@ git_override( bazel_dep(name = "score_kyron") git_override( module_name = "score_kyron", - commit = "90fb90258f49f17a504d41262634d43608f28ccc", + commit = "52d4bef3d1822f82199d72e58e815b9e43406fe6", remote = "https://github.com/eclipse-score/kyron.git", ) diff --git a/bazel_common/score_modules_tooling.MODULE.bazel b/bazel_common/score_modules_tooling.MODULE.bazel index c0f401f18a7..5fc32bac29d 100644 --- a/bazel_common/score_modules_tooling.MODULE.bazel +++ b/bazel_common/score_modules_tooling.MODULE.bazel @@ -60,10 +60,9 @@ git_override( ) bazel_dep(name = "score_test_scenarios") -git_override( +single_version_override( module_name = "score_test_scenarios", - commit = "fec712d490ff5d46fae91332bafac4777b300026", - remote = "https://github.com/eclipse-score/testing_tools.git", + version = "0.5.0", ) bazel_dep(name = "score_docs_as_code") diff --git a/feature_integration_tests/test_cases/tests/persistency/test_combined_requirements.py b/feature_integration_tests/test_cases/tests/persistency/test_combined_requirements.py index ecb12666948..b829ef3c80e 100644 --- a/feature_integration_tests/test_cases/tests/persistency/test_combined_requirements.py +++ b/feature_integration_tests/test_cases/tests/persistency/test_combined_requirements.py @@ -36,7 +36,7 @@ # --------------------------------------------------------------------------- -# Scenario 1: Mixed value types with UTF-8 keys in one snapshot +# Scenario 1: Mixed value types with punctuated ASCII keys in one snapshot # --------------------------------------------------------------------------- @@ -52,10 +52,10 @@ class TestAllTypesWithUtf8Keys(PersistencyScenario): """ Verify that KVS can store multiple value types simultaneously under both - ASCII and UTF-8 encoded key names, and that all of them are physically + ASCII and printable-ASCII key names with spaces and punctuation, and that all of them are physically present in the single persisted snapshot file. - This combines key-encoding support (UTF-8) with value-type coverage + This combines key-encoding support (printable ASCII) with value-type coverage (i32, f64, bool, str, null) in one observable storage outcome. """ @@ -85,11 +85,11 @@ def test_value_types_persisted(self, results: ScenarioResult, temp_dir: Path) -> assert snapshot["ascii_i32"]["t"] == "i32" assert snapshot["ascii_i32"]["v"] == -321 - assert snapshot["emoji_f64 🎯"]["t"] == "f64" - assert isclose(snapshot["emoji_f64 🎯"]["v"], 3.14, abs_tol=1e-4) + assert snapshot["punct_f64 #%"]["t"] == "f64" + assert isclose(snapshot["punct_f64 #%"]["v"], 3.14, abs_tol=1e-4) - assert snapshot["greek_bool αβγ"]["t"] == "bool" - assert snapshot["greek_bool αβγ"]["v"] is True + assert snapshot["punct_bool ~^"]["t"] == "bool" + assert snapshot["punct_bool ~^"]["v"] is True assert snapshot["ascii_str"]["t"] == "str" assert snapshot["ascii_str"]["v"] == "hello" @@ -200,7 +200,7 @@ def test_default_values_accessible(self, results: ScenarioResult, logs_info_leve # --------------------------------------------------------------------------- -# Scenario 3: UTF-8 keys in defaults file + selective override +# Scenario 3: Punctuated ASCII keys in defaults file + selective override # --------------------------------------------------------------------------- @@ -215,21 +215,21 @@ def test_default_values_accessible(self, results: ScenarioResult, logs_info_leve ) class TestUtf8KeysWithDefaults(PersistencyScenario): """ - Verify that UTF-8 encoded key names work correctly as keys in both the + Verify that printable-ASCII key names with spaces and punctuation work correctly as keys in both the defaults file and the KVS snapshot. - The defaults file contains three keys with UTF-8 names (ASCII, emoji, - Greek script). The scenario overrides only the emoji key. Python verifies: - - the emoji key appears in the snapshot with the override value - - the ASCII and Greek default-only keys are absent from the snapshot + The defaults file contains three keys (plain, punctuation, + space). The scenario overrides only the punctuation key. Python verifies: + - the punctuation key appears in the snapshot with the override value + - the plain and space default-only keys are absent from the snapshot This combines key-encoding (support_datatype_keys) with default value provisioning (default_values + default_value_file) in one storage outcome. """ _KEY_ASCII = "utf8_ascii_key" - _KEY_EMOJI = "utf8_emoji 🔑" - _KEY_GREEK = "utf8_greek κλμ" + _KEY_PUNCT = "ascii_punct_key !?" + _KEY_SPACE = "ascii_space key" _DEFAULT_VALUE = 42.0 _OVERRIDE_VALUE = 777.0 @@ -239,14 +239,14 @@ def scenario_name(self) -> str: @pytest.fixture(scope="class") def defaults_file(self, temp_dir: Path) -> Path: - """Create defaults using UTF-8 key names.""" + """Create defaults using printable-ASCII key names.""" return create_kvs_defaults_file( temp_dir, 1, { self._KEY_ASCII: ("f64", self._DEFAULT_VALUE), - self._KEY_EMOJI: ("f64", self._DEFAULT_VALUE), - self._KEY_GREEK: ("f64", self._DEFAULT_VALUE), + self._KEY_PUNCT: ("f64", self._DEFAULT_VALUE), + self._KEY_SPACE: ("f64", self._DEFAULT_VALUE), }, ) @@ -264,21 +264,21 @@ def test_config(self, temp_dir: Path, defaults_file: Path) -> dict[str, Any]: def test_emoji_override_persisted(self, results: ScenarioResult, temp_dir: Path) -> None: """ - The explicitly overridden UTF-8 emoji key must appear in the snapshot - with the override value, confirming that UTF-8 key names survive the + The explicitly overridden punctuation key must appear in the snapshot + with the override value, confirming that punctuated key names survive the full round-trip through the defaults file and snapshot storage. """ assert results.return_code == ResultCode.SUCCESS snapshot = read_kvs_snapshot(temp_dir, 1) - assert self._KEY_EMOJI in snapshot, ( - f"Overridden UTF-8 emoji key '{self._KEY_EMOJI}' must be present in snapshot" + assert self._KEY_PUNCT in snapshot, ( + f"Overridden punctuation key '{self._KEY_PUNCT}' must be present in snapshot" ) - assert isclose(snapshot[self._KEY_EMOJI]["v"], self._OVERRIDE_VALUE, abs_tol=1e-4) + assert isclose(snapshot[self._KEY_PUNCT]["v"], self._OVERRIDE_VALUE, abs_tol=1e-4) def test_default_only_utf8_keys_absent(self, results: ScenarioResult, temp_dir: Path) -> None: """ - UTF-8 keys that were not explicitly overridden must remain absent from + Keys that were not explicitly overridden must remain absent from the snapshot, demonstrating that defaults do not pollute persisted storage. """ assert results.return_code == ResultCode.SUCCESS @@ -287,8 +287,8 @@ def test_default_only_utf8_keys_absent(self, results: ScenarioResult, temp_dir: assert self._KEY_ASCII not in snapshot, ( f"Default-only ASCII key '{self._KEY_ASCII}' must be absent from snapshot" ) - assert self._KEY_GREEK not in snapshot, ( - f"Default-only Greek key '{self._KEY_GREEK}' must be absent from snapshot" + assert self._KEY_SPACE not in snapshot, ( + f"Default-only space key '{self._KEY_SPACE}' must be absent from snapshot" ) def test_snapshot_hash_matches_content(self, results: ScenarioResult, temp_dir: Path) -> None: @@ -298,7 +298,7 @@ def test_snapshot_hash_matches_content(self, results: ScenarioResult, temp_dir: def test_utf8_default_values_accessible(self, results: ScenarioResult, logs_info_level: Any) -> None: """ - Verify that default values behind UTF-8 ASCII and Greek keys are accessible + Verify that default values behind plain and space keys are accessible via get_value even though they were never explicitly written. Checks structured log fields emitted by the scenario after flush. @@ -307,13 +307,13 @@ def test_utf8_default_values_accessible(self, results: ScenarioResult, logs_info log_ascii = logs_info_level.find_log("key", value="utf8_ascii_key") assert log_ascii is not None, "Expected log entry for default utf8_ascii_key" assert isclose(float(log_ascii.value), self._DEFAULT_VALUE, abs_tol=1e-4) - log_greek = logs_info_level.find_log("key", value="utf8_greek κλμ") - assert log_greek is not None, "Expected log entry for default utf8_greek κλμ" - assert isclose(float(log_greek.value), self._DEFAULT_VALUE, abs_tol=1e-4) + log_space = logs_info_level.find_log("key", value="ascii_space key") + assert log_space is not None, "Expected log entry for default ascii_space key" + assert isclose(float(log_space.value), self._DEFAULT_VALUE, abs_tol=1e-4) # --------------------------------------------------------------------------- -# Scenario 4: UTF-8 key in defaults file + get_value without set_value +# Scenario 4: Punctuated ASCII key in defaults file + get_value without set_value # --------------------------------------------------------------------------- @@ -325,16 +325,16 @@ def test_utf8_default_values_accessible(self, results: ScenarioResult, logs_info ) class TestUtf8DefaultValueGet(PersistencyScenario): """ - Verify that get_value retrieves the correct default for a UTF-8 emoji key + Verify that get_value retrieves the correct default for a punctuation key that was provisioned in the defaults file but never explicitly set. - The scenario reads the default via the UTF-8 key, writes the result to an + The scenario reads the default via the punctuation key, writes the result to an ASCII probe key, and flushes. Python checks the probe key equals the expected default — combining feat_req__persistency__default_value_get with feat_req__persistency__support_datatype_keys in one storage outcome. """ - _GET_KEY = "probe 🔍" + _GET_KEY = "probe key ~!" _GET_DEFAULT_VALUE = 42.0 @pytest.fixture(scope="class") @@ -343,7 +343,7 @@ def scenario_name(self) -> str: @pytest.fixture(scope="class") def defaults_file(self, temp_dir: Path) -> Path: - """Provision a default value behind a UTF-8 emoji key.""" + """Provision a default value behind a punctuation key.""" return create_kvs_defaults_file( temp_dir, 1, @@ -364,8 +364,8 @@ def test_config(self, temp_dir: Path, defaults_file: Path) -> dict[str, Any]: def test_utf8_default_value_readable(self, results: ScenarioResult, temp_dir: Path) -> None: """ - The ASCII probe key written by the scenario must equal the UTF-8 key's - default, confirming that get_value works correctly with UTF-8 default keys. + The ASCII probe key written by the scenario must equal the punctuation key's + default, confirming that get_value works correctly with punctuated default keys. """ assert results.return_code == ResultCode.SUCCESS snapshot = read_kvs_snapshot(temp_dir, 1) diff --git a/feature_integration_tests/test_scenarios/cpp/BUILD b/feature_integration_tests/test_scenarios/cpp/BUILD index 3f06998b7f6..68022e7d46b 100644 --- a/feature_integration_tests/test_scenarios/cpp/BUILD +++ b/feature_integration_tests/test_scenarios/cpp/BUILD @@ -25,7 +25,7 @@ cc_binary( deps = [ "@score_baselibs//score/json", "@score_baselibs//score/mw/log:backend_stub_testutil", - "@score_persistency//:kvs_cpp", - "@score_test_scenarios//test_scenarios_cpp", + "@score_persistency//score/kvs", + "@score_test_scenarios//score/test_scenarios_cpp", ], ) diff --git a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h index e0f65444aa8..46a7b41a3e9 100644 --- a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h +++ b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h @@ -16,8 +16,8 @@ #include "kvs_parameters.h" -#include -#include +#include "score/kvs/kvs.h" +#include "score/kvs/kvs_builder.h" #include #include @@ -91,35 +91,49 @@ inline std::string format_double_python(double v) { } /** - * @brief Convert an optional KvsDefaults mode to the boolean flag expected by KvsBuilder. + * @brief Convert an optional KvsDefaults mode to the flag expected by KvsBuilder. * - * Returns true if the mode is Required, false if Optional or Ignored, or - * std::nullopt if no mode was provided (omit the flag from the builder call). + * Returns std::nullopt if no mode was provided (omit the flag from the builder call). * * @param mode Optional KvsDefaults value to convert. - * @return Converted boolean flag or nullopt. + * @return Converted flag or nullopt. */ -inline std::optional to_need_flag(const std::optional& mode) { +inline std::optional to_need_flag(const std::optional& mode) { if (!mode.has_value()) { return std::nullopt; } - return *mode == KvsDefaults::Required; + switch (*mode) { + case KvsDefaults::Required: + return score::mw::per::kvs::OpenNeedDefaults::Required; + case KvsDefaults::Optional: + return score::mw::per::kvs::OpenNeedDefaults::Optional; + case KvsDefaults::Ignored: + default: + return score::mw::per::kvs::OpenNeedDefaults::Ignored; + } } /** - * @brief Convert an optional KvsLoad mode to the boolean flag expected by KvsBuilder. + * @brief Convert an optional KvsLoad mode to the flag expected by KvsBuilder. * - * Returns true if the mode is Required, false if Optional or Ignored, or - * std::nullopt if no mode was provided (omit the flag from the builder call). + * Returns std::nullopt if no mode was provided (omit the flag from the builder call). * * @param mode Optional KvsLoad value to convert. - * @return Converted boolean flag or nullopt. + * @return Converted flag or nullopt. */ -inline std::optional to_need_flag(const std::optional& mode) { +inline std::optional to_need_flag(const std::optional& mode) { if (!mode.has_value()) { return std::nullopt; } - return *mode == KvsLoad::Required; + switch (*mode) { + case KvsLoad::Required: + return score::mw::per::kvs::OpenNeedKvs::Required; + case KvsLoad::Optional: + return score::mw::per::kvs::OpenNeedKvs::Optional; + case KvsLoad::Ignored: + default: + return score::mw::per::kvs::OpenNeedKvs::Ignored; + } } /** diff --git a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp index 703699da627..d6cf1979e89 100644 --- a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp +++ b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp @@ -13,7 +13,7 @@ #include "kvs_instance.h" -#include +#include "score/kvs/kvs_builder.h" #include #include @@ -154,26 +154,34 @@ std::optional snapshot_path(const KvsParameters& params) { return dir + "/kvs_" + std::to_string(params.instance_id.value) + "_0.json"; } -std::optional to_need_flag(const std::optional& mode) { +std::optional to_need_flag(const std::optional& mode) { if (!mode.has_value()) { return std::nullopt; } - if (*mode == KvsDefaults::Required) { - return true; + switch (*mode) { + case KvsDefaults::Required: + return score::mw::per::kvs::OpenNeedDefaults::Required; + case KvsDefaults::Optional: + return score::mw::per::kvs::OpenNeedDefaults::Optional; + case KvsDefaults::Ignored: + default: + return score::mw::per::kvs::OpenNeedDefaults::Ignored; } - // Optional and Ignored are mapped to not-required for C++ KvsBuilder API. - return false; } -std::optional to_need_flag(const std::optional& mode) { +std::optional to_need_flag(const std::optional& mode) { if (!mode.has_value()) { return std::nullopt; } - if (*mode == KvsLoad::Required) { - return true; + switch (*mode) { + case KvsLoad::Required: + return score::mw::per::kvs::OpenNeedKvs::Required; + case KvsLoad::Optional: + return score::mw::per::kvs::OpenNeedKvs::Optional; + case KvsLoad::Ignored: + default: + return score::mw::per::kvs::OpenNeedKvs::Ignored; } - // Optional and Ignored are mapped to not-required for C++ KvsBuilder API. - return false; } } // namespace @@ -185,16 +193,12 @@ std::optional> KvsInstance::create(const KvsParamet using namespace score::mw::per::kvs; try { - if (params.snapshot_max_count.has_value() && - params.snapshot_max_count.value() != static_cast(KVS_MAX_SNAPSHOTS)) { - std::cerr << "Unsupported snapshot_max_count for C++ KVS API: requested " - << params.snapshot_max_count.value() << ", supported " << KVS_MAX_SNAPSHOTS - << std::endl; - return std::nullopt; - } - KvsBuilder builder{score::mw::per::kvs::InstanceId{params.instance_id.value}}; + if (params.snapshot_max_count.has_value()) { + builder = builder.snapshot_max_count(static_cast(*params.snapshot_max_count)); + } + if (const auto defaults = to_need_flag(params.defaults)) { builder = builder.need_defaults_flag(*defaults); } diff --git a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h index 74654474e6b..4597784e437 100644 --- a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h +++ b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h @@ -16,7 +16,7 @@ #include "kvs_parameters.h" -#include +#include "score/kvs/kvs.h" #include #include #include diff --git a/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/supported_datatypes.cpp b/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/supported_datatypes.cpp index 3265c80fa27..04e082a4a73 100644 --- a/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/supported_datatypes.cpp +++ b/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/supported_datatypes.cpp @@ -71,7 +71,7 @@ class AllValueTypes : public Scenario { } }; -/// Write five values with mixed types under both ASCII and UTF-8 key names, +/// Write five values with mixed types under both plain and punctuated ASCII key names, /// then flush and normalize. Python reads the single snapshot and verifies /// every key is present with the correct type tag and value. class AllTypesUtf8 : public Scenario { @@ -91,8 +91,8 @@ class AllTypesUtf8 : public Scenario { }; check(kvs.set_value("ascii_i32", KvsValue(static_cast(-321))), "ascii_i32"); - check(kvs.set_value(u8"emoji_f64 🎯", KvsValue(3.14)), u8"emoji_f64 🎯"); - check(kvs.set_value(u8"greek_bool αβγ", KvsValue(true)), u8"greek_bool αβγ"); + check(kvs.set_value("punct_f64 #%", KvsValue(3.14)), "punct_f64 #%"); + check(kvs.set_value("punct_bool ~^", KvsValue(true)), "punct_bool ~^"); check(kvs.set_value("ascii_str", KvsValue("hello")), "ascii_str"); check(kvs.set_value("ascii_null", KvsValue(nullptr)), "ascii_null"); diff --git a/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/utf8_defaults.cpp b/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/utf8_defaults.cpp index b75244c0947..bd9cc6982d9 100644 --- a/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/utf8_defaults.cpp +++ b/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/utf8_defaults.cpp @@ -21,10 +21,10 @@ namespace { -/// Open a KVS whose defaults file was created with UTF-8 encoded key names. -/// Override only the emoji key and flush. Python verifies: -/// - the emoji key appears in the snapshot with the override value -/// - the ASCII and Greek keys are absent (never explicitly written) +/// Open a KVS whose defaults file was created with printable-ASCII key names with spaces and punctuation. +/// Override only the punctuation key and flush. Python verifies: +/// - the punctuation key appears in the snapshot with the override value +/// - the plain and space keys are absent (never explicitly written) /// /// Combines feat_req__persistency__support_datatype_keys, /// feat_req__persistency__default_values, and @@ -44,8 +44,8 @@ class Utf8Defaults : public Scenario { } auto kvs = *kvs_opt; - // Override only the emoji key; ascii and greek keys remain as defaults. - if (!kvs->set_value(u8"utf8_emoji 🔑", 777.0)) { + // Override only the punctuation key; plain and space keys remain as defaults. + if (!kvs->set_value("ascii_punct_key !?", 777.0)) { throw std::runtime_error("Failed to set value"); } @@ -53,20 +53,20 @@ class Utf8Defaults : public Scenario { throw std::runtime_error("Failed to flush KVS"); } - // Log default values for ascii and greek keys so Python can assert they are accessible. + // Log default values for plain and space keys so Python can assert they are accessible. auto val_ascii = kvs->get_default_value_f64("utf8_ascii_key"); if (!val_ascii.has_value()) { throw std::runtime_error("Failed to read default value for 'utf8_ascii_key'"); } - auto val_greek = kvs->get_default_value_f64(u8"utf8_greek κλμ"); - if (!val_greek.has_value()) { - throw std::runtime_error(u8"Failed to read default value for 'utf8_greek κλμ'"); + auto val_space = kvs->get_default_value_f64("ascii_space key"); + if (!val_space.has_value()) { + throw std::runtime_error("Failed to read default value for 'ascii_space key'"); } kvs_build_helpers::log_info( "\"key\":\"utf8_ascii_key\",\"value\":" + kvs_build_helpers::format_double_python(val_ascii.value()), "cpp_test_scenarios::scenarios::persistency::utf8_defaults"); kvs_build_helpers::log_info( - u8"\"key\":\"utf8_greek \u03ba\u03bb\u03bc\",\"value\":" + kvs_build_helpers::format_double_python(val_greek.value()), + "\"key\":\"ascii_space key\",\"value\":" + kvs_build_helpers::format_double_python(val_space.value()), "cpp_test_scenarios::scenarios::persistency::utf8_defaults"); if (!KvsInstance::normalize_snapshot_file_to_rust_envelope(params)) { @@ -75,7 +75,7 @@ class Utf8Defaults : public Scenario { } }; -/// Read a default value whose key is a UTF-8 emoji string without ever calling +/// Read a default value whose key is a punctuation string without ever calling /// set_value on it. Write the retrieved value to an ASCII result key and flush. /// Python verifies the result key equals the expected default, combining /// feat_req__persistency__default_value_get with @@ -95,13 +95,13 @@ class Utf8DefaultValueGet : public Scenario { } auto kvs = *kvs_opt; - // Read the default via a UTF-8 emoji key — never explicitly set. - auto default_result = kvs->get_default_value_f64(u8"probe 🔍"); + // Read the default via a punctuation key — never explicitly set. + auto default_result = kvs->get_default_value_f64("probe key ~!"); if (!default_result.has_value()) { - throw std::runtime_error(u8"Failed to read default value for 'probe 🔍'"); + throw std::runtime_error("Failed to read default value for 'probe key ~!'"); } - // Persist to an ASCII result key so Python can verify without UTF-8 key lookup. + // Persist to an ASCII result key so Python can verify without special-character key lookup. if (!kvs->set_value("result_key", default_result.value())) { throw std::runtime_error("Failed to set result_key"); } diff --git a/feature_integration_tests/test_scenarios/rust/BUILD b/feature_integration_tests/test_scenarios/rust/BUILD index b23163de7cf..2eae1aa03a7 100644 --- a/feature_integration_tests/test_scenarios/rust/BUILD +++ b/feature_integration_tests/test_scenarios/rust/BUILD @@ -26,6 +26,6 @@ rust_binary( "@score_crates//:tracing", "@score_crates//:tracing_subscriber", "@score_persistency//score/kvs/rust_kvs", - "@score_test_scenarios//test_scenarios_rust", + "@score_test_scenarios//score/test_scenarios_rust", ], ) diff --git a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/supported_datatypes.rs b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/supported_datatypes.rs index 89dfea07f99..99f0a679950 100644 --- a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/supported_datatypes.rs +++ b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/supported_datatypes.rs @@ -68,7 +68,7 @@ impl Scenario for AllValueTypes { } } -/// Write five values with mixed types under both ASCII and UTF-8 key names, +/// Write five values with mixed types under both plain and punctuated ASCII key names, /// then flush. Python reads the single snapshot and verifies every key is /// present with the correct type tag and value — combining key-encoding and /// value-type requirements in one observable storage outcome. @@ -86,9 +86,9 @@ impl Scenario for AllTypesUtf8 { kvs.set_value("ascii_i32", KvsValue::I32(-321)) .map_err(|e| format!("{e:?}"))?; - kvs.set_value("emoji_f64 🎯", KvsValue::F64(3.14)) + kvs.set_value("punct_f64 #%", KvsValue::F64(3.14)) .map_err(|e| format!("{e:?}"))?; - kvs.set_value("greek_bool αβγ", KvsValue::Boolean(true)) + kvs.set_value("punct_bool ~^", KvsValue::Boolean(true)) .map_err(|e| format!("{e:?}"))?; kvs.set_value("ascii_str", KvsValue::String("hello".to_string())) .map_err(|e| format!("{e:?}"))?; diff --git a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/utf8_defaults.rs b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/utf8_defaults.rs index 99f17eeaa0f..5ff09a2d2d0 100644 --- a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/utf8_defaults.rs +++ b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/utf8_defaults.rs @@ -24,10 +24,10 @@ fn parse_params(input: &str) -> Result { KvsParameters::from_value(&v["kvs_parameters_1"]).map_err(|e| e.to_string()) } -/// Open a KVS whose defaults file was created with UTF-8 encoded key names. -/// Override only the emoji key and flush. Python verifies: -/// - the emoji key appears in the snapshot with the override value -/// - the ASCII and Greek keys are absent from the snapshot (never explicitly written) +/// Open a KVS whose defaults file was created with printable-ASCII key names with spaces and punctuation. +/// Override only the punctuation key and flush. Python verifies: +/// - the punctuation key appears in the snapshot with the override value +/// - the plain and space keys are absent from the snapshot (never explicitly written) /// /// Combines feat_req__persistency__support_datatype_keys, /// feat_req__persistency__default_values, and @@ -43,22 +43,22 @@ impl Scenario for Utf8Defaults { let params = parse_params(input)?; let kvs = kvs_instance(params).map_err(|e| format!("{e:?}"))?; - // Override only the emoji key; ASCII and Greek keys are intentionally left as defaults. - kvs.set_value("utf8_emoji 🔑", 777.0_f64) + // Override only the punctuation key; plain and space keys are intentionally left as defaults. + kvs.set_value("ascii_punct_key !?", 777.0_f64) .map_err(|e| format!("{e:?}"))?; kvs.flush().map_err(|e| format!("{e:?}"))?; - // Log default values for ASCII and Greek keys so Python can assert accessibility. + // Log default values for plain and space keys so Python can assert accessibility. let val_ascii: f64 = get_default_value_f64(&kvs, "utf8_ascii_key") .map_err(|e| format!("Failed to read default utf8_ascii_key: {e:?}"))?; - let val_greek: f64 = get_default_value_f64(&kvs, "utf8_greek κλμ") - .map_err(|e| format!("Failed to read default utf8_greek κλμ: {e:?}"))?; + let val_space: f64 = get_default_value_f64(&kvs, "ascii_space key") + .map_err(|e| format!("Failed to read default ascii_space key: {e:?}"))?; info!(key = "utf8_ascii_key", value = val_ascii, source = "default"); - info!(key = "utf8_greek κλμ", value = val_greek, source = "default"); + info!(key = "ascii_space key", value = val_space, source = "default"); Ok(()) } } -/// Read a default value whose key is a UTF-8 emoji string without ever calling +/// Read a default value whose key is a punctuation string without ever calling /// set_value on it. Write the retrieved value to an ASCII result key and flush. /// Python verifies the result key equals the expected default, combining /// feat_req__persistency__default_value_get with @@ -73,10 +73,10 @@ impl Scenario for Utf8DefaultValueGet { fn run(&self, input: &str) -> Result<(), String> { let params = parse_params(input)?; let kvs = kvs_instance(params).map_err(|e| format!("{e:?}"))?; - // Read the default value via a UTF-8 emoji key — never explicitly set. - let default_val: f64 = get_default_value_f64(&kvs, "probe 🔍") - .map_err(|e| format!("Failed to read UTF-8 default value: {e:?}"))?; - // Persist to an ASCII result key so Python can verify without UTF-8 key lookup. + // Read the default value via a punctuation key — never explicitly set. + let default_val: f64 = get_default_value_f64(&kvs, "probe key ~!") + .map_err(|e| format!("Failed to read punctuation default value: {e:?}"))?; + // Persist to an ASCII result key so Python can verify without special-character key lookup. kvs.set_value("result_key", default_val).map_err(|e| format!("{e:?}"))?; kvs.flush().map_err(|e| format!("{e:?}"))?; Ok(()) diff --git a/known_good.json b/known_good.json index 783251ea4e3..1c28a99d9c8 100644 --- a/known_good.json +++ b/known_good.json @@ -93,7 +93,6 @@ "@score_logging//score/mw/log/flags:KRemote_Logging=False" ], "exclude_test_targets": [ - "//score/kvs/tests:bm_kvs_cpp", "//score/kvs/tests/integration_test_scenarios/...", "//score/kvs/tests/test_cases/..." ], @@ -106,11 +105,10 @@ ], "test_args": [ "--config=per-x86_64-linux", - "//:test_kvs_cpp", - "//score/kvs/rust_kvs:tests" + "//:unit_tests" ] }, - "hash": "961c0a0989755a1e0fe8de55e83c0a44e2e20b56" + "hash": "a804b85f67381378b2250abaa91e0a3a6046e994" }, "score_kyron": { "repo": "https://github.com/eclipse-score/kyron.git", @@ -126,7 +124,7 @@ "//src/..." ] }, - "hash": "90fb90258f49f17a504d41262634d43608f28ccc" + "hash": "52d4bef3d1822f82199d72e58e815b9e43406fe6" }, "score_lifecycle": { "repo": "https://github.com/eclipse-score/lifecycle.git", @@ -301,7 +299,8 @@ "score_test_scenarios": { "repo": "https://github.com/eclipse-score/testing_tools.git", "docs": false, - "hash": "fec712d490ff5d46fae91332bafac4777b300026" + "version": "0.5.0", + "pin_version": true }, "score_docs_as_code": { "repo": "https://github.com/eclipse-score/docs-as-code.git", diff --git a/patches/persistency/003-undev-deps-for-root-module.patch b/patches/persistency/003-undev-deps-for-root-module.patch index d2d798e4e91..1dcc654ab59 100644 --- a/patches/persistency/003-undev-deps-for-root-module.patch +++ b/patches/persistency/003-undev-deps-for-root-module.patch @@ -1,26 +1,27 @@ diff --git a/MODULE.bazel b/MODULE.bazel -index 2649521..6c17327 100644 +index 55960da5a..5f2244350 100644 --- a/MODULE.bazel +++ b/MODULE.bazel -@@ -38,13 +38,13 @@ bazel_dep(name = "score_coverage", version = "0.3.1", dev_dependency = True) - bazel_dep(name = "aspect_rules_lint", version = "2.7.2", dev_dependency = True) +@@ -47,14 +47,14 @@ bazel_dep(name = "score_coverage", version = "0.4.2", dev_dependency = True) + # Bump once score_rust_policies supports aspect_rules_lint >= 2.6. + bazel_dep(name = "aspect_rules_lint", version = "2.5.2", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.3", dev_dependency = True) - bazel_dep(name = "google_benchmark", version = "1.9.5", dev_dependency = True) --bazel_dep(name = "googletest", version = "1.17.0.bcr.2", dev_dependency = True) -+bazel_dep(name = "googletest", version = "1.17.0.bcr.2") - bazel_dep(name = "score_bazel_cpp_toolchains", version = "1.0.3", dev_dependency = True) +-bazel_dep(name = "googletest", version = "1.18.0", dev_dependency = True) ++bazel_dep(name = "googletest", version = "1.18.0") + bazel_dep(name = "score_bazel_cpp_toolchains", version = "1.0.5", dev_dependency = True) + bazel_dep(name = "score_cpp_policies", version = "0.1.2", dev_dependency = True) -bazel_dep(name = "score_sbom", version = "0.1.1", dev_dependency = True) -bazel_dep(name = "score_rules_imagefs", version = "0.1.0", dev_dependency = True) +bazel_dep(name = "score_sbom", version = "0.1.1") +bazel_dep(name = "score_rules_imagefs", version = "0.1.0") bazel_dep(name = "score_rust_policies", version = "0.0.5", dev_dependency = True) bazel_dep(name = "score_toolchains_rust", version = "0.10.0", dev_dependency = True) --bazel_dep(name = "score_tools", version = "0.0.3", dev_dependency = True) -+bazel_dep(name = "score_tools", version = "0.0.3") +-bazel_dep(name = "score_tools", version = "0.0.4", dev_dependency = True) ++bazel_dep(name = "score_tools", version = "0.0.4") - # Pinned past v0.0.3 for the `$(locations)` fix in score_pytest. - git_override( -@@ -62,7 +62,7 @@ python.toolchain( + # Python toolchain configuration + PYTHON_VERSION = "3.12" +@@ -65,7 +65,7 @@ python.toolchain( python_version = PYTHON_VERSION, ) From bd7fbb84f8cc75e25f65a545725b0c2642298fdb Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Wed, 28 Oct 2026 16:23:02 +0100 Subject: [PATCH 04/80] Add release-note agent and skill; add v0.10 release note draft (#414) * Add release-note agent, skill and generator; add v0.10 release note draft Signed-off-by: Anton Krivoborodov * Format release-note scripts with ruff Signed-off-by: Anton Krivoborodov * Remove session-specific details from release-note skill and agent Signed-off-by: Anton Krivoborodov * Release note: list removed files as evidence, correct v0.10 content Signed-off-by: Anton Krivoborodov * Release note: take the release date from the S-CORE milestone Signed-off-by: Anton Krivoborodov * Release note: show draft or final state on top of the note Signed-off-by: Anton Krivoborodov * Release note: set the final state explicitly with --final Signed-off-by: Anton Krivoborodov * Add release-note prompt with draft/final parameter Signed-off-by: Anton Krivoborodov * Release note: address review findings (release selection by tag commit, one ref for all evidence, alias normalisation) Signed-off-by: Anton Krivoborodov * Release note: run on the release candidate branch; drop the v0.10 note from this PR Signed-off-by: Anton Krivoborodov * Release note: generate an architecture diagram with every skeleton run The generator renders docs/s_core_v_1/releases/_assets/architecture_vX_Y.svg from scratch (scripts/release_note/architecture_diagram.py) and embeds it in the Overview: platform/infrastructure/tooling modules, the integrated software modules with their components (Sphinx-Needs comp/mod from needs.json, --needs) and the target images. Same inputs give a byte-identical SVG. Skill and agent document the diagram as a generated part. * Release note: take the diagram components from the checkout's needs.json The generator builds //:needs_json_file with Bazel and reads bazel-bin/needs.json, so the components match the module pins of the checked-out release branch instead of the published main docs. A failing build stops the run; --needs only reproduces a diagram from a kept file. Removes the unused diagram path without components. * Release note: list commits without PR of the release branch as evidence The evidence of this repository covers the range origin tag -> checked-out release branch, but only squash-merged PRs ("(#N)") were listed, so commits pushed directly to the release candidate branch were dropped. collect_changes.py now lists them with their changed files (commits that only touch the release notes are skipped). The skill classifies them like PRs and, on refresh, adds items for new evidence while keeping the reviewed narrative. --------- Signed-off-by: Anton Krivoborodov (cherry picked from commit 9f60b91730a9f06ccad74ba14ae7ead769958c14) --- .github/agents/release-note.agent.md | 59 ++ .github/prompts/release-note.prompt.md | 19 + .github/skills/release-note/SKILL.md | 295 +++++++++ scripts/release_note/architecture_diagram.py | 356 +++++++++++ scripts/release_note/collect_changes.py | 418 +++++++++++++ scripts/release_note/generate_release_note.py | 587 ++++++++++++++++++ 6 files changed, 1734 insertions(+) create mode 100644 .github/agents/release-note.agent.md create mode 100644 .github/prompts/release-note.prompt.md create mode 100644 .github/skills/release-note/SKILL.md create mode 100644 scripts/release_note/architecture_diagram.py create mode 100644 scripts/release_note/collect_changes.py create mode 100644 scripts/release_note/generate_release_note.py diff --git a/.github/agents/release-note.agent.md b/.github/agents/release-note.agent.md new file mode 100644 index 00000000000..9a88edcc284 --- /dev/null +++ b/.github/agents/release-note.agent.md @@ -0,0 +1,59 @@ +--- +description: "Creates the S-CORE platform release note docs/s_core_v_1/releases/release_note_score_vX_Y.rst. Use when: preparing a release note for an upcoming platform release, regenerating one from known_good.json, or reviewing the module tables of an existing note. Module tables, platform scope and images are generated from known_good.json and the repository; the 'Changes to the Platform' chapter is written from this repository's PRs and the modules' own release notes (platform-level new features and breaking changes only)." +name: Release Note +argument-hint: "release tag and origin tag, e.g. 'v0.10.0 from v0.9.0' (add 'final' for the final note)" +tools: [read, edit, search, execute, todo, web] +user-invocable: true +--- + +You are the **Release Note** author. Your single job is to produce a platform +release note for `reference_integration` that follows the format defined in +the `release-note` skill. + +You **orchestrate**; the **"how" lives in `.github/skills/release-note/SKILL.md`**. +Read it first and follow it exactly. + +## Constraints + +- DO NOT type module names, versions or links into the tables by hand; they + come from `scripts/release_note/generate_release_note.py`. +- DO NOT invent changes. Every statement must trace back to a merged PR or + closed issue of this repository, the `--changes` table, or a module's own + GitHub release notes (all via `collect_changes.py`). +- List only platform-level new features and breaking changes (see the skill); + module internals stay in the module release notes, which the note links. +- DO NOT edit generated parts (status banner, Overview, headings and icons, + tables, architecture diagram SVG); only replace the `AI-FILL` markers. The + diagram is regenerated from scratch with every skeleton run. +- Pass `--final` only when the user explicitly asks for the final note; + otherwise the note is a draft (see the skill, "Draft and final"). +- DO NOT overwrite an existing `release_note_score_*.rst` without the user + asking for it; for comparisons write to a different path. +- DO NOT commit or push. +- ALWAYS surface generator warnings (missing tags, unreleased pins, missing + milestone) to the user. + +## Workflow + +1. Resolve `release` and `origin` tags from the argument. The release date + comes from the milestone `v.` in eclipse-score/score (the + generator reads it); do not ask for it and do not pass `--date`. +2. Prepare: work on the release candidate branch of the release (ask for it if + the current branch is `main`); `git pull` and `git fetch --tags`. Do not + pass `--known-good-ref`; both scripts read the checked-out branch. +3. Run the generator to create the skeleton (this also builds the checkout's + `needs.json` with Bazel and renders the architecture diagram) and the + `--changes` table. Do not pass `--needs`. +4. Run `collect_changes.py` and classify into platform-level new features and + breaking changes as described in the skill (use the impact hints). +5. Replace both `.. AI-FILL:` markers (New Features, Breaking Changes). +6. Make sure the new note is part of the `toctree` in + `docs/s_core_v_1/releases/releases.rst`. +7. Run the validation checks from the skill. +8. Report: output path and diagram path, state (draft or final), generator + warnings, modules with unreleased pins, modules shown with "no components + documented" in the diagram, + items left out although they looked relevant, and anything you could not + verify. + +The skill section "Run from scratch" has the exact commands. diff --git a/.github/prompts/release-note.prompt.md b/.github/prompts/release-note.prompt.md new file mode 100644 index 00000000000..25ed3683a1b --- /dev/null +++ b/.github/prompts/release-note.prompt.md @@ -0,0 +1,19 @@ +--- +description: "Create or refresh the S-CORE platform release note as draft or final." +name: "release-note" +argument-hint: "release=v0.10.0 origin=v0.9.0 state=draft|final" +agent: "Release Note" +--- +Create the platform release note for release `${input:release:Release tag, e.g. v0.10.0}` +compared to the previous release `${input:origin:Origin tag, e.g. v0.9.0}`. + +State: `${input:state:draft or final}` + +- `draft`: run the generator without `--final`. +- `final`: run the generator with `--final`. +- Any other value: stop and ask for `draft` or `final`. + +Follow the workflow of the agent and the [release-note skill](../skills/release-note/SKILL.md). +If the note file already exists, refresh it as described in the skill: regenerate +everything outside "Changes to the Platform" and keep the reviewed narrative, +unless I ask for a full rewrite. diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md new file mode 100644 index 00000000000..61f45c2c4e1 --- /dev/null +++ b/.github/skills/release-note/SKILL.md @@ -0,0 +1,295 @@ +--- +name: release-note +description: "How-to reference for creating the S-CORE platform release note (docs/s_core_v_1/releases/release_note_score_vX_Y.rst). Defines the document format, the data sources (known_good.json, merged PRs and removed files of this repository, module GitHub releases), the generator script for the deterministic parts and the rules for the AI-written narrative sections. Use when preparing, regenerating or reviewing a platform release note. The release-note agent orchestrates the run; this skill holds the 'how'." +argument-hint: "release tag, e.g. v0.10.0 (and optionally origin tag)" +--- + +# Platform Release Note — the "how" + +Format basis: the official template `wp__platform_sw_release_note` +(`process_description/process/folder_templates/platform/docs/release/release_note.rst`), +adapted as described below. The **[release-note agent](../../agents/release-note.agent.md)** +runs the procedure; this skill holds the rules. + +## Document format + +| Section | Source | Written by | +|---|---|---| +| Status banner directly below the title: **DRAFT** (`.. warning::`, title suffix "(DRAFT)", `:status: draft`) or **FINAL** (`.. note::` with link to the release tag, `:status: valid`) | `--final` | script | +| Header (`document` directive, Platform Name, Release Tag, Origin Release Tag, Release Date) | CLI args; Release Date = due date of the milestone `v.` in [eclipse-score/score](https://github.com/eclipse-score/score/milestones) | script | +| Overview (fixed intro sentence) | release and origin tag | script | +| Architecture diagram (figure in the Overview, SVG in `docs/s_core_v_1/releases/_assets/architecture_vX_Y.svg`) | `known_good.json` (release and origin), `images/`, components from `needs.json` | script (`architecture_diagram.py`) | +| Disclaimer | fixed text | script | +| Changes to the Platform: New Features / Breaking Changes (platform-level only) | `collect_changes.py` (this repo's PRs, modules' own release notes, impact hints), `--changes` table | AI | +| Reference Integration scope: Version, Source / tag, Release notes, Platform Verification Report (bullets) | release tag | script | +| Integrated Software Modules (table incl. `score_platform` first; extra column Module verification report) | `known_good.json` group `target_sw` + `score_platform` | script | +| Associated Infrastructure Modules (table) | `known_good.json` group `tooling` (without `score_platform`) | script | +| Images (subchapter after the two module tables; table: Name, Tarball, How-to, Description) | release assets, README/runner docs at the tag | script | +| Known Issues, Upgrade Instructions (registry hint, hint for commit pins, link to `known_good.json` at the tag), Contact | fixed text | script | + +The scope section describes this repository (reference_integration) and holds +links only; no change narrative. Changes of this repository and of the images +go into **Changes to the Platform**. + +Every chapter heading carries an icon (emoji); the mapping is `ICONS` in the +script. When adding a chapter, add its icon there instead of typing it into the +heading (the script also lengthens the underline for the double-width emoji). +The title and the `~~~` item subsections have no icon. + +Module tables have the columns **Name** (link to the repo at the pinned +tag/commit), **Version**, **Release notes** (link to the GitHub release of that +tag). The Integrated Software Modules table has a fourth column **Module +verification report**: a `:doc:` link taken from +`docs/verification_report/modules/index.rst` (always the latest report in the +current docs tree), `---` where the module has none (e.g. the platform). Every +empty table cell is written as `---`. +Never write module versions or links by hand. + +Image table: the image catalogue (`IMAGES` in the script) lists name, +`images/`, description and how-to candidates. An image is listed only if +`images/` exists at the release ref. Tarball is a release asset whose name +contains the image directory name, else `---`. How-to is the first candidate that exists at the ref, else `---`. +When an image is added or renamed in `images/`, update `IMAGES`. + +## Draft and final + +A note has one of two states. The release note is part of the release and is +finalised before the tag is created, so the state is set explicitly: + +- **Draft** (default) while the release is in progress: the note shows the + current state of the release branch. Title suffix "(DRAFT)", a warning + banner on top and `:status: draft`. +- **Final** with `--final`, only when the user says the note is final (content + frozen for the release). No title suffix, a note banner with the link to the + release tag and `:status: valid`. + +To make a draft final, refresh it with `--final` as described in "Run from +scratch" and keep the reviewed narrative. + +## Generator + +```bash +# Skeleton (known_good.json is read from the release tag if it exists, else the checked-out release branch) +python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin vX.W.0 \ + --output docs/s_core_v_1/releases/release_note_score_vX_Y.rst + +# Module version changes origin -> release (input for the narrative) +python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin vX.W.0 --changes +``` + +Behaviour worth knowing: + +- Tags are resolved with `git ls-remote --tags` on every module repo. A + `version` pin maps to `v` or ``; a `hash` pin maps to a tag only if + one points exactly at that commit, otherwise the row shows ` (unreleased)`, + links the commit and has no release-notes link. +- The Release Date is always the due date of the milestone `v.` + (for `vX.Y.0`: milestone `vX.Y`) in eclipse-score/score. Do not pass `--date`; + it only exists as an override when the user asks for a different date. If + the milestone or its due date is missing, the script warns and writes `TBD`; + report this instead of guessing a date. +- Warnings (`no tag for version ...`) on stderr mean a broken link. Fix the + `known_good.json` pin or report it, never silence it. +- Modules with `"enabled": false` are skipped. +- Unknown `known_good.json` groups abort the run; extend `SECTIONS` then. +- The two narrative sections (New Features, Breaking Changes) are emitted as + `.. AI-FILL: ` comments. + +## Architecture diagram + +Every skeleton run renders the diagram from scratch +(`scripts/release_note/architecture_diagram.py`, called by the generator) to +`docs/s_core_v_1/releases/_assets/architecture_v_.svg` and embeds +it with `.. figure::` in the Overview. The SVG is a generated file: never edit +it by hand and never keep an old one; regenerate it with the skeleton. + +Content: + +- Header: release, DRAFT/FINAL badge (`--final`), release date, origin and key + figures (software modules, components, infrastructure modules, images). +- Left column over the full height: platform, infrastructure and tooling + modules (`score_platform` + group `tooling`). +- Right: the integrated software modules as tiles side by side (no layering), + each with version, the version in the origin release ("was ...") and its + components as chips; below them the target images (same catalogue as the + image table, dashed = experimental). +- Colour bar: green = released tag, orange = commit pin; NEW = not in the origin + release. + +Components come from the Sphinx-Needs of the `needs.json` of the **checked-out +branch**: the generator runs `bazel build //:needs_json_file` (Bazel caches it +and rebuilds only when the docs inputs changed; the first run takes a few +minutes) and reads `bazel-bin/needs.json`. These are the module docs at the +pins of the checkout, so components, versions and images describe the same +state. It takes every `comp` need whose source lies in +`modules//`, plus the `includes` of the module's `mod` need (a `mod` +need outside the module docs, for example in `score_platform`, is matched by its +title). Modules without such needs show "no components documented"; report +them, do not add components by hand. If the Bazel build fails, the generator +stops; fix the build instead of falling back to another `needs.json`. +`--needs ` skips the build and is only for reproducing a diagram from a +kept `needs.json`. + +The diagram is a pure function of its inputs: `known_good.json` at the release +ref and at the origin tag, `images/` at the release ref, the `needs.json` of the +checkout, the milestone date and the state (`--final`). There is no randomness, +no timestamp and no layout state; the same inputs give a byte-identical SVG. To +check, run the generator twice to a scratch output and `cmp` the SVG. +Run it on the checked-out release branch without `--known-good-ref`; with +another ref the components would still come from the checkout. +Colours follow the S-CORE docs theme (header `#2D1942`); change them only in +`architecture_diagram.py`. + +## Run from scratch (any release, also for not yet tagged ones) + +The procedure is identical for existing and new releases; only the inputs differ. +In chat, the prompt `/release-note` (`.github/prompts/release-note.prompt.md`) +asks for release, origin and state (`draft` or `final`) and starts the agent. + +1. **Inputs.** `release` and `origin` tag and the output file + `docs/s_core_v_1/releases/release_note_score_v_.rst`. The + release date is taken from the milestone (see above). +2. **Prepare.** Check out the release candidate branch of the release and + update it (`git pull`, `git fetch --tags`). The note is created and + committed only there; it reaches `main` when the release branch is merged + back after the release. Never add a release note on `main` directly, it + would conflict with that merge. Both scripts read the checked-out state by + default; the release branch must be pushed, because the collector compares + commits through the GitHub API. Set `GITHUB_TOKEN` for the GitHub API calls + (anonymous access is rate limited); never print it. +3. **Skeleton.** Run the generator (see above); it also builds the + `needs.json` of the checkout with Bazel and writes the architecture diagram + (see "Architecture diagram"). Check the stderr warnings. +4. **Evidence.** Run `collect_changes.py` with the same `--release` and + `--origin`, plus the `--changes` table. Runtime is a few minutes. +5. **Narrative.** Replace the two `AI-FILL` markers (New Features, Breaking + Changes) with the rules below. Nothing else in the file is written by hand. +6. **Index.** Make sure the new note is part of the `toctree` in + `docs/s_core_v_1/releases/releases.rst` on the release branch. +7. **Validate** (checklist below) and report. + +An existing note is never overwritten unless the user asks for it; to compare, +write to another path. To refresh the tables of an existing draft (for example +after pin bumps, or to make it final with `--final`), generate to +another path and replace everything outside "Changes to the Platform"; keep the +reviewed narrative. The diagram SVG is always overwritten by the run, so it +matches the refreshed tables. Then run `collect_changes.py` again and add items +for evidence that is not covered yet (new PRs or direct commits on the release +branch); keep the reviewed items unless their evidence changed. + +Re-running with the same inputs gives the same tables and chapter structure. +The narrative may be worded differently, but it has to name the same items as +long as the evidence did not change. + +## Writing the narrative (AI-FILL) + +"Changes to the Platform" has exactly two chapters: **New Features** and +**Breaking Changes**. It lists **platform-level** changes only. The release note +already links the release notes of every module, so module internals are not +repeated here. + +What is platform-level: + +1. Module set: newly integrated, removed or renamed modules and major version + jumps (from the `--changes` table of `generate_release_note.py`). +2. Changes of this repository (reference_integration): new or changed images and + platforms, Bazel/toolchain updates, build and integration mechanisms, new + demos, documentation or process deliverables. +3. Cross-module changes: the same change in several modules (for example a + dependency that all modules replace). Identical PR titles in several repos, + or a module's release note, point to them. +4. Breaking changes of a module **with impact on integrators or other modules**, + for example a removed flag that `known_good.json` still sets. Breaking changes + without such impact stay in the module's own release note. + +Evidence: + +```bash +python3 scripts/release_note/collect_changes.py --release vX.Y.0 --origin vX.W.0 --output changes.md +``` + +The evidence of this repository covers the commit range from the origin tag to +the checked-out release branch (not `main`). The output has one section for +the merged PRs and closed issues of this repository, one for the **commits +without PR** in that range (commits pushed directly to the release candidate +branch, with their changed files; commits that only touch +`docs/s_core_v_1/releases/` are skipped), one for the files of this repository +that were removed or renamed +(per directory, without `docs/` and `patches/`), and one section per changed +module with the **breaking** and **new-feature** parts of the module's own +GitHub release notes. For every +breaking part the script lists "impact hints": places in this repository that +mention a flag, label or symbol named there. `--module ` restricts the run, +`--module-prs` adds the merged PRs of a module (slow, only for a deep dive), +`--include-infra` adds the infrastructure modules. + +Classification: + +- Impact hints are leads, not verdicts. A hint is only meaningful if the hit really + uses what the module removed or changed (for example a flag set in + `known_good.json` or `.bazelrc` that the release note says was removed). A hit + that merely shares a name (a different configuration with a similar name) is a + false alarm; ignore it. +- **Breaking**: + - this repository: a removed or renamed script, target, configuration file or + mechanism, in particular one that an earlier release note announced. The + "removed or renamed files" section points to them; read the PR that removed + them. + - a module: a removed or renamed module, target, flag or public API, or + changed behaviour requiring action, as stated in the module's release note + ("breaking" section). List it if this repository uses it (impact hint) or + if it is a public API that applications use directly; say which of the two + applies. Changes of internals stay in the module's release note. +- **New feature**: new module, platform, image, integration capability or + deliverable; or a module feature that is visible across the platform. +- Anything else is omitted. When unsure, omit it and name it in the final report. +- PR labels like `breaking` or `feature` are not used consistently; decide from + title, description and the module's release note. +- Commits without PR are classified like PRs; read the commit (`git show`) + because the subject is often short. Pure pin bumps are already covered by the + `--changes` table and the module sections. + +Rules: + +- Only state facts found in the evidence. No invented features, dates or versions. + Read the PR description before describing a PR; the title alone is not enough + (a PR may replace something instead of extending it). +- One `~~~` subsection per item with a short noun-phrase title, written for + integrators; link to the PR, issue, commit (for commits without PR) or the + module's release note as RST links + (`` `text `__ ``). Name new scripts, targets or settings that + integrators use. +- Order of the items: module set, integration and build, images and platforms, + tests, documentation; breaking changes of this repository before those of + the modules (one subsection per module, in table order). +- Breaking changes end with "Action required: ...". +- Remove **Breaking Changes** only if there is none; never leave an `AI-FILL` + marker behind (`grep -n AI-FILL ` must be empty). +- Report items you left out although they looked relevant, and modules without + GitHub releases in the range. + +Known limits of the evidence: + +- Only some modules (for example Baselibs) structure their GitHub release notes + with "Breaking changes" and "New features" sections. For the others the + collector prints "No breaking/new-feature sections found"; there is then no + module-level evidence, and you must say so in the report instead of guessing. +- Hash-pinned modules (` (unreleased)`) have releases only up to their + latest tag; changes after it are not covered by release notes. +- Impact hints search `known_good.json`, `.bazelrc`, `bazel_common`, `patches`, + `images`, `showcases` and the integration tests; they do not understand code. + +## Validation + +- `grep -n "AI-FILL" ` is empty. +- The Overview contains the `.. figure::` of the diagram and the SVG + `docs/s_core_v_1/releases/_assets/architecture_v_.svg` was + written by this run (it is committed together with the note). +- The new note is part of the `toctree` in `releases.rst`. +- Every `~~~` item and every bullet names a PR, issue, commit or release note link. +- Every new module of the `--changes` table and every removed mechanism of this + repository is either in the note or named in the report. +- No stderr warnings of the generator; `(unreleased)` rows are named in the report. +- The scope links point to the release tag. +- Docs build: `bazel run --lockfile_mode=error //:docs_shim -- --github_user=eclipse-score --github_repo=reference_integration` + (heavy; optional locally, CI runs it). diff --git a/scripts/release_note/architecture_diagram.py b/scripts/release_note/architecture_diagram.py new file mode 100644 index 00000000000..62f15c32712 --- /dev/null +++ b/scripts/release_note/architecture_diagram.py @@ -0,0 +1,356 @@ +# ******************************************************************************* +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* +"""Architecture diagram (SVG) of the reference integration for the platform release note. + +Rendered by generate_release_note.py together with the skeleton; never edited by hand. +Modules and images come from known_good.json and the repository, components from the +Sphinx-Needs ``comp``/``mod`` needs of the needs.json of the docs build. +""" + +from __future__ import annotations + +import json +import re +from pathlib import Path +from xml.sax.saxutils import escape + +import generate_release_note as grn + +W = 1280 +M = 40 +NAVY = "#0b1f3a" +INK = "#1d2b3f" +MUTED = "#5b6b80" +FAINT = "#9aa8bb" +RELEASED = "#0f9d8a" +UNRELEASED = "#e39a2d" +NEW = "#6d4aff" +# Header bar of the S-CORE docs theme (--pst-color-secondary in docs-as-code score.css) +HEADER = "#2d1942" +HEADER_TEXT = "#d8cce6" +HEADER_FAINT = "#a996bf" +FONT = "Inter, 'Segoe UI', Helvetica, Arial, sans-serif" +MONO = "'JetBrains Mono', Menlo, Consolas, monospace" + +# images/ -> (operating system, architecture) +IMAGE_LABELS = { + "linux_x86_64": ("Linux", "x86_64"), + "qnx_x86_64": ("QNX 8.0", "x86_64"), + "qnx_aarch64": ("QNX 8.0", "aarch64"), + "autosd": ("Red Hat AutoSD", "x86_64"), + "ebclfsa_aarch64": ("EB corbos Linux", "aarch64"), +} + + +def text_width(s: str, size: float, weight: int = 400) -> float: + return len(s) * size * (0.64 if weight >= 600 else 0.56) + + +def fit(s: str, size: float, weight: int, available: float, min_size: float = 11) -> tuple[str, float]: + while size > min_size and text_width(s, size, weight) > available: + size -= 0.5 + while len(s) > 4 and text_width(s, size, weight) > available: + s = s[:-2] + "\u2026" + return s, size + + +def wrap(s: str, size: float, weight: int, available: float) -> tuple[list[str], float]: + """Split a too-long name into two balanced lines instead of shrinking it.""" + if text_width(s, size, weight) <= available or " " not in s: + label, size = fit(s, size, weight, available) + return [label], size + words = s.split() + cut = min(range(1, len(words)), key=lambda i: max(len(" ".join(words[:i])), len(" ".join(words[i:])))) + lines = [" ".join(words[:cut]), " ".join(words[cut:])] + size = min(fit(line, size, weight, available)[1] for line in lines) + return [fit(line, size, weight, available)[0] for line in lines], size + + +def text(x, y, s, size=14, weight=400, fill=INK, anchor="start", family=FONT, extra=""): + return ( + f'{escape(s)}' + ) + + +def pill(x_right, y, label, color, h=18): + w = 12 + 7 * len(label) + return f'' + text( + x_right - w / 2, y + h / 2 + 4, label, 10, 700, "#fff", "middle", extra='letter-spacing="0.8"' + ) + + +def card_base(x, y, w, h, accent): + return [ + f'', + f'', + f'', + ] + + +def row_card(x, y, w, h, entry: grn.Entry, is_new: bool): + accent = RELEASED if entry.tag else UNRELEASED + out = card_base(x, y, w, h, accent) + version = entry.tag or entry.pin[:7] + name = re.sub(r"\s*\(.*\)$", "", entry.name) + label, size = fit(name, 13, 600, w - 40 - text_width(version, 11) - (42 if is_new else 0)) + out.append(text(x + 18, y + h / 2 + 5, label, size, 600)) + if is_new: + out.append(pill(x + 18 + text_width(label, size, 600) + 41, y + (h - 18) / 2, "NEW", NEW)) + out.append(text(x + w - 12, y + h / 2 + 4, version, 11, 400, MUTED, "end", family=MONO)) + return "\n".join(out) + + +def section(x, y, w, h, title_lines, subtitle="", stacked=False): + """stacked: subtitle goes below the title (narrow columns) instead of right-aligned.""" + out = [f''] + for i, line in enumerate(title_lines): + out.append(text(x + 24, y + 30 + i * 18, line.upper(), 12, 700, MUTED, extra='letter-spacing="1.8"')) + if subtitle and stacked: + out.append(text(x + 24, y + 30 + len(title_lines) * 18 + 4, subtitle, 12, 400, MUTED)) + elif subtitle: + out.append(text(x + w - 24, y + 30, subtitle, 12, 400, MUTED, "end")) + return "".join(out) + + +CHIP_H, CHIP_GAP = 22, 6 + + +def load_components(path: Path, entries: list[grn.Entry]) -> dict[str, list[str]]: + """Module key -> component titles, from the Sphinx-Needs `comp` and `mod` needs of a needs.json.""" + data = json.loads(path.read_text()) + versions = data["versions"] + needs = versions.get(data.get("current_version", ""), next(iter(versions.values())))["needs"] + found: dict[str, dict[str, str]] = {e.key: {} for e in entries} + + def owner(need: dict) -> grn.Entry | None: + docname = need.get("docname") or "" + return next((e for e in entries if docname.startswith(f"modules/{e.key}/")), None) + + for need in needs.values(): + if need["type"] == "comp" and (e := owner(need)): + found[e.key][need["id"]] = need["title"] + elif need["type"] == "mod": + # module descriptions can also live in score_platform, so fall back to the title + e = owner(need) or next((e for e in entries if e.name == need["title"]), None) + for ref in need.get("includes", []) if e else []: + if comp := needs.get(ref.split("[")[0]): + found[e.key][comp["id"]] = comp["title"] + return {key: sorted(comps.values(), key=lambda t: (t.lower(), t)) for key, comps in found.items()} + + +def chip_lines(labels: list[str], available: float) -> list[list[tuple[str, float]]]: + lines: list[list[tuple[str, float]]] = [] + line: list[tuple[str, float]] = [] + used = 0.0 + for label in labels: + label = fit(label, 11, 500, available - 16)[0] + width = text_width(label, 11, 500) + 16 + if line and used + CHIP_GAP + width > available: + lines.append(line) + line, used = [], 0.0 + used += (CHIP_GAP if line else 0) + width + line.append((label, width)) + return lines + [line] if line else lines + + +def component_layout(entry: grn.Entry, w: float, is_new: bool, note: str, comps: list[str]): + """Name lines, name size, y offset of the chips and the minimum tile height.""" + lines, size = wrap(entry.name, 16, 700, w - 34 - (52 if is_new else 0)) + chips_y = 30 + (len(lines) - 1) * (size + 5) + 22 + (14 if note else 0) + 14 + n = len(chip_lines(comps, w - 34)) + block = n * CHIP_H + (n - 1) * CHIP_GAP if n else 20 + return lines, size, chips_y, chips_y + block + 16 + 28 + + +def component_tile(x, y, w, h, entry: grn.Entry, is_new: bool, note: str, comps: list[str]): + accent = RELEASED if entry.tag else UNRELEASED + out = card_base(x, y, w, h, accent) + lines, size, chips_y, _ = component_layout(entry, w, is_new, note, comps) + for i, line in enumerate(lines): + out.append(text(x + 20, y + 30 + i * (size + 5), line, size, 700, NAVY)) + vy = y + 30 + (len(lines) - 1) * (size + 5) + 22 + out.append(text(x + 20, vy, entry.tag or entry.pin[:7], 13, 700, INK if entry.tag else accent, family=MONO)) + if note: + out.append(text(x + 20, vy + 14, note, 10, 400, FAINT, family=MONO)) + cy = y + chips_y + for line in chip_lines(comps, w - 34): + cx = x + 20 + for label, cw in line: + out.append( + f'' + ) + out.append(text(cx + cw / 2, cy + 15, label, 11, 500, INK, "middle")) + cx += cw + CHIP_GAP + cy += CHIP_H + CHIP_GAP + if not comps: + out.append(text(x + 20, cy + 14, "no components documented", 11, 400, FAINT, extra='font-style="italic"')) + out.append( + f'' + ) + repo = entry.repo_url.rstrip("/").rsplit("/", 1)[-1] + out.append(text(x + 20, y + h - 11, fit(repo, 10, 400, w - 34)[0], 10, 400, FAINT, family=MONO)) + if is_new: + out.append(pill(x + w - 10, y + 10, "NEW", NEW)) + return "\n".join(out) + + +def component_rows(sw: list[grn.Entry], components: dict[str, list[str]], inner_w: float, gap: float, history, origin): + """Justified rows of up to 4 column units; modules with many components span 2 or 4 units.""" + rows: list[list[tuple[grn.Entry, int]]] = [[]] + for e in sw: + n = len(components.get(e.key, [])) + units = 4 if n > 8 else 2 if n > 3 else 1 + if sum(u for _, u in rows[-1]) + units > 4: + rows.append([]) + rows[-1].append((e, units)) + layout = [] + for row in rows: + total = sum(u for _, u in row) + unit_w = (inner_w - gap * (len(row) - 1)) / total + tiles, height = [], 0.0 + for e, units in row: + is_new, previous = history(e) + note = f"was {previous}" if previous else ("" if is_new else f"unchanged since {origin}") + w = unit_w * units + comps = components.get(e.key, []) + height = max(height, component_layout(e, w, is_new, note, comps)[3]) + tiles.append((e, w, is_new, note, comps)) + layout.append((tiles, height)) + return layout + + +def render( + release: str, + origin: str, + date: str, + final: bool, + groups: dict[str, list[grn.Entry]], + origin_groups: dict[str, list[grn.Entry]], + ref: str | None, + ref_label: str, + components: dict[str, list[str]], +) -> str: + old = {grn.KEY_ALIASES.get(e.key, e.key): e for es in origin_groups.values() for e in es} + + def history(e: grn.Entry) -> tuple[bool, str | None]: + o = old.get(grn.KEY_ALIASES.get(e.key, e.key)) + if o is None: + return True, None + return False, (o.tag or o.pin[:7]) if o.pin != e.pin else None + + sw = [e for e in groups["target_sw"] if e.key != grn.PLATFORM_MODULE] + infra = [e for e in groups["target_sw"] if e.key == grn.PLATFORM_MODULE] + groups["tooling"] + + images = [ + (IMAGE_LABELS.get(directory, (name, directory)), "(Experimental)" in name) + for name, directory, _, _ in grn.IMAGES + if grn._exists(ref, f"images/{directory}") + ] + new_count = sum(history(e)[0] for e in sw + infra) + + parts: list[str] = [] + + # Header with key figures + short = ".".join(release.removeprefix("v").split(".")[:2]) + parts.append(f'') + title = f"S-CORE Platform v{short}" + parts.append(text(M, 54, title, 32, 800, "#ffffff")) + parts.append(text(M, 86, "Reference integration architecture", 16, 400, HEADER_TEXT)) + state, color = ("FINAL", RELEASED) if final else ("DRAFT", UNRELEASED) + parts.append(pill(M + text_width(title, 32, 800) + 20 + 12 + 7 * len(state), 30, state, color, 24)) + figures = [ + (str(len(sw)), "software modules"), + (str(sum(map(len, components.values()))), "components"), + (str(len(infra)), "infrastructure modules"), + (str(len(images)), "target images"), + ] + x = W - M + for value, label in reversed(figures): + w = max(text_width(label, 11) + 8, 70) + parts.append(text(x, 62, value, 28, 800, "#ffffff", "end")) + parts.append(text(x, 82, label, 11, 400, HEADER_TEXT, "end")) + x -= w + 26 + when = f"released {date}" if final else f"planned {date}" + parts.append(text(M, 114, f"{release} \u00b7 {when} \u00b7 compared to {origin}", 12, 400, HEADER_FAINT)) + top = 156.0 + side_x, side_w = float(M), 300.0 + right_x = side_x + side_w + 20 + right_w = W - M - right_x + + # Body height: the taller of the infrastructure sidebar and the right column + row_h, row_gap, rows_top = 38, 8, 92 + side_h = rows_top + len(infra) * row_h + (len(infra) - 1) * row_gap + 24 + gap, images_h = 16, 128 + comp_rows = component_rows(sw, components, right_w - 48, gap, history, origin) + right_min = 56 + sum(h for _, h in comp_rows) + (len(comp_rows) - 1) * gap + 24 + 20 + images_h + body_h = max(side_h, right_min) + + # Left sidebar along the full body: platform, infrastructure & tooling + parts.append( + section(side_x, top, side_w, body_h, ["Platform, infrastructure", "& tooling"], f"{len(infra)} modules", True) + ) + for i, e in enumerate(infra): + y = top + rows_top + i * (row_h + row_gap) + parts.append(row_card(side_x + 20, y, side_w - 40, row_h, e, history(e)[0])) + + # Integrated software modules: justified rows of tiles with their components + modules_h = body_h - 20 - images_h + parts.append(section(right_x, top, right_w, modules_h, ["Integrated software modules"], f"{len(sw)} modules")) + extra = (body_h - right_min) / len(comp_rows) + y = top + 56 + for tiles, h in comp_rows: + x = right_x + 24 + for e, w, is_new, note, comps in tiles: + parts.append(component_tile(x, y, w, h + extra, e, is_new, note, comps)) + x += w + gap + y += h + extra + gap + + # Target images below the modules + y = top + body_h - images_h + parts.append(section(right_x, y, right_w, images_h, ["Target images"], "dashed: experimental")) + iw = (right_w - 48 - 14 * (len(images) - 1)) / max(len(images), 1) + for i, ((os_name, arch), experimental) in enumerate(images): + x = right_x + 24 + i * (iw + 14) + dash = ' stroke-dasharray="5 4"' if experimental else "" + parts.append( + f'' + ) + label, size = fit(os_name, 14, 700, iw - 16) + parts.append(text(x + iw / 2, y + 73, label, size, 700, NAVY, "middle")) + parts.append(text(x + iw / 2, y + 92, arch, 11, 400, MUTED, "middle", family=MONO)) + y = top + body_h + 20 + + # Legend + x = float(M) + for color, label in ((RELEASED, "released (tag)"), (UNRELEASED, "unreleased (commit pin)")): + parts.append(f'') + parts.append(text(x + 22, y + 14, label, 12, 400, MUTED)) + x += 40 + text_width(label, 12) + parts.append(pill(x + 40, y, "NEW", NEW)) + parts.append(text(x + 48, y + 14, f"new since {origin} ({new_count})", 12, 400, MUTED)) + x += 48 + text_width(f"new since {origin} ({new_count})", 12) + 24 + parts.append(text(x, y + 14, f"was \u2026 = version in {origin}", 12, 400, MUTED, family=FONT)) + parts.append( + text(W - M, y + 14, f"generated from known_good.json @ {ref_label}", 11, 400, FAINT, "end", family=MONO) + ) + y += 36 + + return ( + f'' + f'' + "\n".join(parts) + "" + ) diff --git a/scripts/release_note/collect_changes.py b/scripts/release_note/collect_changes.py new file mode 100644 index 00000000000..bb577817cb8 --- /dev/null +++ b/scripts/release_note/collect_changes.py @@ -0,0 +1,418 @@ +# ******************************************************************************* +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* +"""Collect the evidence for the platform-level "Changes to the Platform" chapter. + +Platform-level means: changes of this repository (reference_integration), and +module changes that matter for integrators. The latter come from the modules' own +release notes (their "breaking" and "new features" sections) together with hints +where this repository uses an affected flag, label or target. Detailed per-module +PR lists are only produced on request (``--module-prs``). + +Examples: + python3 scripts/release_note/collect_changes.py --release v0.9.0 --origin v0.8.0 --output changes.md + python3 scripts/release_note/collect_changes.py --release v0.10.0 --origin v0.9.0 --module-prs --module score_logging +""" + +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import urllib.error +import urllib.parse +import urllib.request +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any + +import generate_release_note as grn + +API = "https://api.github.com" + +BOT_AUTHORS = ("[bot]", "dependabot", "renovate", "eclipse-score-bot") +NOISE_TITLE = re.compile(r"^(chore|build|ci)\(deps\)|\bbump\b|update dependency|^update .* to v?\d", re.I) +BREAKING_TITLE = re.compile(r"^\w+(\([^)]*\))?!:|\bbreaking\b", re.I) +FEATURE_TITLE = re.compile(r"^(feat|feature)(\([^)]*\))?:|^add(ed)?\b|^introduce|^implement|^support", re.I) +CLOSES = re.compile(r"\b(?:close[sd]?|fix(?:e[sd])?|resolve[sd]?)\s+#(\d+)", re.I) +RELEASE_NOTES_DIR = "docs/s_core_v_1/releases/" + + +def api(path: str, params: dict[str, Any] | None = None) -> Any: + url = f"{API}{path}" + (f"?{urllib.parse.urlencode(params)}" if params else "") + request = urllib.request.Request(url, headers={"Accept": "application/vnd.github+json"}) + if token := os.environ.get("GITHUB_TOKEN") or os.environ.get("GITHUB_PAT"): + request.add_header("Authorization", f"Bearer {token}") + with urllib.request.urlopen(request, timeout=60) as response: + return json.load(response) + + +def paged(path: str, params: dict[str, Any] | None = None, key: str | None = None) -> list[Any]: + items: list[Any] = [] + for page in range(1, 30): + data = api(path, {**(params or {}), "per_page": 100, "page": page}) + batch = data[key] if key else data + items += batch + if len(batch) < 100: + break + return items + + +@dataclass +class Issue: + number: int + title: str + labels: list[str] + url: str + + +@dataclass +class PullRequest: + number: int + title: str + labels: list[str] + author: str + url: str + body: str + issues: list[Issue] = field(default_factory=list) + + @property + def is_noise(self) -> bool: + return any(b in self.author.lower() for b in BOT_AUTHORS) or bool(NOISE_TITLE.search(self.title)) + + @property + def kind(self) -> str: + labels = " ".join(self.labels).lower() + " " + " ".join(l for i in self.issues for l in i.labels).lower() + if "breaking" in labels or BREAKING_TITLE.search(self.title) or "BREAKING CHANGE" in self.body: + return "breaking" + if re.search(r"feature|enhancement|\bfeat\b", labels) or FEATURE_TITLE.search(self.title): + return "feature" + return "other" + + +def repo_slug(repo_url: str) -> str: + return repo_url.removeprefix("https://github.com/") + + +def ref_date(slug: str, ref: str) -> str: + return api(f"/repos/{slug}/commits/{ref}")["commit"]["committer"]["date"] + + +def merged_pulls(slug: str, start: str, end: str) -> list[dict]: + """Closed PRs merged in [start, end]; sorted by update time so paging stops once PRs predate the window.""" + found: list[dict] = [] + for page in range(1, 60): + batch = api( + f"/repos/{slug}/pulls", + {"state": "closed", "sort": "updated", "direction": "desc", "per_page": 100, "page": page}, + ) + found += [p for p in batch if p.get("merged_at") and start <= p["merged_at"] <= end] + if len(batch) < 100 or batch[-1]["updated_at"] < start: + break + return found + + +def load_issue(slug: str, number: int) -> Issue | None: + try: + data = api(f"/repos/{slug}/issues/{number}") + except urllib.error.HTTPError: + return None + return Issue(number, data["title"], [l["name"] for l in data["labels"]], data["html_url"]) + + +def collect_prs(slug: str, base: str, head: str) -> list[PullRequest]: + prs = [] + for data in sorted(merged_pulls(slug, ref_date(slug, base), ref_date(slug, head)), key=lambda p: p["merged_at"]): + pr = PullRequest( + data["number"], + data["title"], + [l["name"] for l in data["labels"]], + data["user"]["login"], + data["html_url"], + data.get("body") or "", + ) + for issue_number in dict.fromkeys(int(n) for n in CLOSES.findall(pr.body)): + if issue := load_issue(slug, issue_number): + pr.issues.append(issue) + prs.append(pr) + return prs + + +def collect_prs_by_commits(slug: str, base: str, head: str) -> list[PullRequest]: + """PRs of a small repository via the commit range (squash commits end in "(#N)").""" + numbers: dict[int, None] = {} + for commit in paged(f"/repos/{slug}/compare/{base}...{head}", key="commits"): + subject = commit["commit"]["message"].splitlines()[0] + if match := re.search(r"\(#(\d+)\)\s*$", subject): + numbers.setdefault(int(match.group(1))) + prs = [] + for number in numbers: + try: + data = api(f"/repos/{slug}/pulls/{number}") + except urllib.error.HTTPError: + continue + pr = PullRequest( + number, + data["title"], + [l["name"] for l in data["labels"]], + data["user"]["login"], + data["html_url"], + data.get("body") or "", + ) + for issue_number in dict.fromkeys(int(n) for n in CLOSES.findall(pr.body)): + if issue := load_issue(slug, issue_number): + pr.issues.append(issue) + prs.append(pr) + return prs + + +def closed_issues(slug: str, base: str, head: str, linked: set[int]) -> list[Issue]: + start, end = ref_date(slug, base), ref_date(slug, head) + issues = paged(f"/repos/{slug}/issues", {"state": "closed", "since": start}) + return [ + Issue(i["number"], i["title"], [l["name"] for l in i["labels"]], i["html_url"]) + for i in issues + if "pull_request" not in i and start <= i["closed_at"] <= end and i["number"] not in linked + ] + + +def _line(pr: PullRequest, with_body: bool) -> str: + labels = f" [{', '.join(pr.labels)}]" if pr.labels else "" + text = f"- #{pr.number} {pr.title}{labels} ({pr.url})" + for issue in pr.issues: + issue_labels = f" [{', '.join(issue.labels)}]" if issue.labels else "" + text += f"\n - closes #{issue.number} {issue.title}{issue_labels} ({issue.url})" + if with_body and pr.body.strip(): + excerpt = re.sub(r"\s+", " ", re.sub(r"", "", pr.body, flags=re.S)).strip()[:240] + if excerpt: + text += f"\n - body: {excerpt}" + return text + + +def render_module(name: str, slug: str, base: str, head: str, own_repo: bool = False) -> str: + """own_repo: this repository; every PR is listed (version bumps and tooling updates are platform-level here).""" + prs = collect_prs_by_commits(slug, base, head) if own_repo else collect_prs(slug, base, head) + relevant = prs if own_repo else [p for p in prs if not p.is_noise] + out = [ + f"## {name}: {base} -> {head} ({slug}, {len(prs)} merged PRs, {len(prs) - len(relevant)} bot/dependency PRs omitted)", + "", + ] + for kind, title in ( + ("breaking", "Breaking candidates"), + ("feature", "Feature candidates"), + ("other", "Other merged PRs"), + ): + group = [p for p in relevant if p.kind == kind] + out += [f"### {title} ({len(group)})"] + [_line(p, with_body=kind != "other") for p in group] + [""] + linked = {i.number for p in prs for i in p.issues} + extra = closed_issues(slug, base, head, linked) + out += [f"### Closed issues in the release window, not linked to a PR ({len(extra)})"] + out += [ + f"- #{i.number} {i.title}" + (f" [{', '.join(i.labels)}]" if i.labels else "") + f" ({i.url})" for i in extra + ] + return "\n".join(out) + "\n" + + +SECTION_HEADING = re.compile(r"^(#{2,4})\s+(.*?)\s*$", re.M) +WANTED_SECTION = re.compile(r"breaking|deprecat|incompatible|new feature|features", re.I) +IMPACT_PATHS = [ + "known_good.json", + ".bazelrc", + "bazel_common", + "patches", + "images", + "showcases", + "MODULE.bazel", + "feature_integration_tests", + "platform_integration_tests", +] + + +def release_sections(body: str) -> list[tuple[str, str]]: + """(heading, text) of the breaking / new-feature sections of a GitHub release body.""" + marks = list(SECTION_HEADING.finditer(body)) + sections = [] + for i, mark in enumerate(marks): + if WANTED_SECTION.search(mark.group(2)): + end = marks[i + 1].start() if i + 1 < len(marks) else len(body) + sections.append((mark.group(2), body[mark.end() : end].strip())) + return sections + + +def impact_hints(text: str, module_key: str) -> list[str]: + """Lines in this repository that mention an identifier named in backticks and belong to the module.""" + short = module_key.removeprefix("score_") + hints = [] + seen: set[tuple[str, str]] = set() + for token in dict.fromkeys(re.findall(r"`([^`\s]{8,})`", text)): + if not re.search(r"[/:_.-]", token): + continue # plain words like `result` match everywhere + needles = {token, re.split(r"[:/]", token)[-1]} if re.search(r"[:/]", token) else {token} + for needle in (n for n in needles if len(n) >= 8): + result = subprocess.run( + ["git", "grep", "-n", "-F", "-I", needle, "--", *IMPACT_PATHS], + cwd=grn.REPO_ROOT, + capture_output=True, + text=True, + ) + for line in result.stdout.splitlines(): + path = line.split(":", 1)[0] + if ( + short in line.lower() and (needle, path) not in seen + ): # one hint per file, line must concern this module + seen.add((needle, path)) + hints.append(f"`{needle}` is used in {line[:160]}") + return hints[:8] + + +def in_range(slug: str, old_ref: str, tag: str, new_ref: str) -> bool: + """True if the tag commit is after old_ref and contained in new_ref (excludes other maintenance branches).""" + after_old = api(f"/repos/{slug}/compare/{old_ref}...{tag}")["status"] == "ahead" + return after_old and api(f"/repos/{slug}/compare/{tag}...{new_ref}")["status"] in ("ahead", "identical") + + +def render_release_notes(name: str, slug: str, old: grn.Entry, new: grn.Entry) -> str: + start = ref_date(slug, old.ref) + # A release published before the old pin cannot contain later commits; the range itself is decided by the tag commit. + releases = [ + r + for r in paged(f"/repos/{slug}/releases") + if r.get("published_at") + and r["published_at"] > start + and not r["draft"] + and in_range(slug, old.ref, r["tag_name"], new.ref) + ] + out = [f"## {name}: {old.version_label} -> {new.version_label} ({slug}), module release notes", ""] + if not releases: + out += ["No GitHub releases in this range.", ""] + for release in sorted(releases, key=lambda r: r["published_at"]): + out += [f"### {release['tag_name']} ({release['published_at'][:10]}, {release['html_url']})", ""] + sections = release_sections(release.get("body") or "") + if not sections: + out += ["No breaking/new-feature sections found in the release text.", ""] + for heading, text in sections: + out += [f"#### {heading}", text, ""] + if re.search(r"breaking|deprecat|incompatible", heading, re.I): + out += [f"- impact hint: {hint}" for hint in impact_hints(text, new.key)] + [""] + return "\n".join(out) + + +def render_direct_commits(base: str, head: str) -> str: + """Commits of this repository without a PR, e.g. pushed directly to the release candidate branch.""" + log = grn._git("log", "--no-merges", "--reverse", "--format=%H%x09%s", f"{base}..{head}") + out = [] + for sha, subject in (line.split("\t", 1) for line in log.splitlines()): + if re.search(r"\(#\d+\)\s*$", subject): + continue # squash-merged PR, listed above + files = grn._git("diff-tree", "--no-commit-id", "--name-only", "-r", sha).split() + if all(f.startswith(RELEASE_NOTES_DIR) for f in files): + continue # the release note itself + shown = ", ".join(files[:10]) + (f" (+{len(files) - 10} more)" if len(files) > 10 else "") + url = f"https://github.com/eclipse-score/{grn.RELEASE_REPO}/commit/{sha}" + out.append(f"- {sha[:10]} {subject} ({url})\n - files: {shown}") + heading = f"## Reference integration: commits without PR {base} -> {head[:10]} ({len(out)})" + return "\n".join([heading, "", *out] if out else [heading, "", "None."]) + "\n" + + +def render_removed_files(base: str, head: str) -> str: + """Files of this repository deleted or renamed between the two refs, per directory (breaking candidates).""" + result = subprocess.run( + ["git", "diff", "--name-status", "-M", "--diff-filter=DR", base, head, "--", ".", ":!docs", ":!patches"], + cwd=grn.REPO_ROOT, + capture_output=True, + text=True, + check=True, + ) + groups: dict[str, int] = {} + for parts in (line.split("\t") for line in result.stdout.splitlines()): + old_dir = os.path.dirname(parts[1]) or "." + label = ( + f"renamed {old_dir} -> {os.path.dirname(parts[2]) or '.'}" + if parts[0].startswith("R") + else f"removed from {old_dir}" + ) + if parts[0].startswith("R") and label.endswith(f"-> {old_dir}"): + label = f"renamed within {old_dir}" + groups[label] = groups.get(label, 0) + 1 + out = [f"## Reference integration: removed or renamed files {base} -> {head} (without docs/ and patches/)", ""] + out += [f"- {label} ({count} files)" for label, count in groups.items()] or ["None."] + return "\n".join(out) + "\n" + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("--release", required=True) + parser.add_argument("--origin", required=True) + parser.add_argument( + "--module", action="append", help="Restrict module sections to these known_good keys (repeatable)" + ) + parser.add_argument( + "--module-prs", + action="store_true", + help="Also list the merged PRs of each changed module (slow, large modules have hundreds)", + ) + parser.add_argument("--include-infra", action="store_true", help="Also cover the Associated Infrastructure Modules") + parser.add_argument( + "--known-good-ref", + help="Git ref for known_good.json and the evidence of this repository (default: release tag if it exists, else HEAD; must be pushed)", + ) + parser.add_argument("--output", type=Path) + args = parser.parse_args() + + ref = args.known_good_ref or (args.release if grn._tag_exists(args.release) else "HEAD") + current = {e.key: (g, e) for g, es in grn.collect(grn.load_known_good(ref)).items() for e in es} + previous = {e.key: e for es in grn.collect(grn.load_known_good(args.origin)).values() for e in es} + + sections = [] + ref_slug = f"eclipse-score/{grn.RELEASE_REPO}" + # One commit for all evidence of this repository, the same one known_good.json is read from. + head = grn._git("rev-parse", f"{ref}^{{commit}}").strip() + sections.append(render_module("Reference integration", ref_slug, args.origin, head, own_repo=True)) + sections.append(render_direct_commits(args.origin, head)) + sections.append(render_removed_files(args.origin, head)) + + renamed_from = {new: old for old, new in grn.KEY_ALIASES.items()} + for key, (group, entry) in current.items(): + if args.module and key not in args.module: + continue + if group == "tooling" and not args.include_infra: + continue + old = previous.get(key) or previous.get(renamed_from.get(key, "")) + slug = repo_slug(entry.repo_url) + if old is None: + sections.append(f"## {entry.name}: newly integrated at {entry.version_label} ({slug})\n") + continue + if old.key != key: + sections.append(f"## {entry.name}: RENAMED from `{old.key}` to `{key}` (breaking for integrators)\n") + if old.pin != entry.pin: + sections.append(render_release_notes(entry.name, slug, old, entry)) + if args.module_prs: + sections.append(render_module(entry.name, slug, old.ref, entry.ref)) + for key, old in previous.items(): + if ( + key not in current + and not (key in grn.KEY_ALIASES and grn.KEY_ALIASES[key] in current) + and (not args.module or key in args.module) + ): + sections.append(f"## {old.name}: removed from the platform (was {old.version_label})\n") + + text = "\n".join(sections) + if args.output: + args.output.write_text(text) + else: + print(text) + + +if __name__ == "__main__": + main() diff --git a/scripts/release_note/generate_release_note.py b/scripts/release_note/generate_release_note.py new file mode 100644 index 00000000000..b8341d5035f --- /dev/null +++ b/scripts/release_note/generate_release_note.py @@ -0,0 +1,587 @@ +# ******************************************************************************* +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* +"""Generate the deterministic skeleton of an S-CORE platform release note. + +Everything that can be derived from ``known_good.json`` (platform scope and the +module tables) is rendered here. Narrative sections are emitted as +``.. AI-FILL: ...`` comments that the release-note agent replaces. + +Examples: + # Skeleton for an already tagged release (known_good.json is read from the tag) + python3 scripts/release_note/generate_release_note.py --release v0.8.0 --origin v0.7.0 + + # Skeleton for an upcoming release, run on its release candidate branch (known_good.json of the checkout) + python3 scripts/release_note/generate_release_note.py --release v0.10.0 --origin v0.9.0 + + # Module version changes between the two releases + python3 scripts/release_note/generate_release_note.py --release v0.8.0 --origin v0.7.0 --changes + +The release date is the due date of the milestone ``v.`` in the +eclipse-score/score repository. + +The skeleton embeds an architecture diagram that is rendered from scratch on every +run (``architecture_diagram.py``) to ``docs/s_core_v_1/releases/_assets/architecture_v_.svg``. +Its components come from the needs.json of the checkout, built with ``bazel build //:needs_json_file``. +""" + +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import urllib.request +from dataclasses import dataclass +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[2] +ORG_URL = "https://github.com/eclipse-score" +RELEASE_REPO = "reference_integration" +# Repository whose milestones v. carry the planned platform release dates. +MILESTONE_REPO = "score" + +# known_good.json group -> section title; score_platform is moved from "tooling" to "target_sw". +PLATFORM_MODULE = "score_platform" +SECTIONS = { + "target_sw": "Integrated Software Modules", + "tooling": "Associated Infrastructure Modules", +} + +# Module verification reports are linked from the current docs tree (same convention as the platform report). +VERIFICATION_INDEX = "docs/verification_report/modules/index.rst" +EMPTY_CELL = "---" +# Architecture diagram of the note; components come from the Sphinx-Needs of the checkout's docs. +DIAGRAM_DIR = "docs/s_core_v_1/releases/_assets" +NEEDS_TARGET = "//:needs_json_file" +# Old module names in earlier known_good.json versions -> current name used in the docs tree. +KEY_ALIASES = {"score_lifecycle_health": "score_lifecycle", "score_process": "score_process_description"} + +# (name, images/, description, how-to candidates [(path, heading or None)] tried in order) +IMAGES = [ + ( + "Reference Linux x86_64 image", + "linux_x86_64", + "Linux x86_64 Docker image bundling the S-CORE showcases.", + [("README.md", "Run showcases"), ("README.md", "Operating system integrations")], + ), + ( + "Reference QNX x86_64 image", + "qnx_x86_64", + "QNX x86_64 image, run in QEMU.", + [("runners/qemu_x86_64/README.md", None)], + ), + ( + "Reference QNX aarch64 image", + "qnx_aarch64", + "QNX 8.0 aarch64 image, run in QEMU or on Raspberry Pi 4/5.", + [("README.md", "Build and deploy showcases on Raspberry Pi (QNX aarch64)")], + ), + ( + "Reference Red Hat AutoSD Linux image (Experimental)", + "autosd", + "Red Hat AutoSD x86_64 image.", + [("README.md", "Operating system integrations")], + ), + ( + "Reference Elektrobit corbos Linux for Safety Applications image (Experimental)", + "ebclfsa_aarch64", + "Elektrobit corbos Linux for Safety Applications (aarch64) image.", + [("images/ebclfsa_aarch64/README.md", None)], + ), +] + +DISPLAY_NAMES = { + "score_baselibs": "Baselibs", + "score_baselibs_rust": "Baselibs Rust", + "score_communication": "Communication", + "score_persistency": "Persistency", + "score_logging": "Logging", + "score_time": "Time", + "score_config_management": "Configuration Management", + "score_orchestrator": "Orchestrator", + "score_kyron": "Kyron", + "score_lifecycle": "Lifecycle", + "score_lifecycle_health": "Lifecycle & Health Management", + "score_process": "Process description", + "score_process_description": "Process description", + "score_docs_as_code": "Docs-as-code", + "score_tooling": "Tooling", + "score_tools": "Tools", + "score_platform": "Platform", + "score_itf": "ITF (Integration Testing Framework)", + "score_test_scenarios": "Test Scenarios", + "score_crates": "Crates", + "score_bazel_cpp_toolchains": "Bazel CPP Toolchain", + "score_bazel_platforms": "Bazel Platforms", +} + + +@dataclass +class Entry: + key: str + name: str + repo_url: str + tag: str | None # release tag the pin resolves to, None if unreleased + ref: str # tag or commit used for the source link + pin: str # version or hash as written in known_good.json + verification_doc: str | None = None # absolute Sphinx doc path of the module verification report + + @property + def source_url(self) -> str: + return f"{self.repo_url}/tree/{self.ref}" + + @property + def release_notes_url(self) -> str | None: + return f"{self.repo_url}/releases/tag/{self.tag}" if self.tag else None + + @property + def version_label(self) -> str: + return self.tag if self.tag else f"{self.pin[:7]} (unreleased)" + + +def _git(*args: str) -> str: + return subprocess.run(["git", *args], cwd=REPO_ROOT, check=True, capture_output=True, text=True).stdout + + +def _tag_exists(tag: str) -> bool: + cmd = ["git", "rev-parse", "-q", "--verify", f"refs/tags/{tag}"] + return subprocess.run(cmd, cwd=REPO_ROOT, stdout=subprocess.DEVNULL).returncode == 0 + + +def load_known_good(ref: str | None) -> dict: + text = _git("show", f"{ref}:known_good.json") if ref else (REPO_ROOT / "known_good.json").read_text() + return json.loads(text) + + +def remote_tags(repo: str, cache: dict[str, dict[str, str]]) -> dict[str, str]: + """Map tag name -> commit sha (peeled for annotated tags).""" + if repo not in cache: + out = subprocess.run( + ["git", "ls-remote", "--tags", repo], check=True, capture_output=True, text=True, timeout=60 + ).stdout + tags: dict[str, str] = {} + for line in out.splitlines(): + sha, ref = line.split("\t") + name = ref.removeprefix("refs/tags/") + if name.endswith("^{}"): + tags[name[:-3]] = sha + else: + tags.setdefault(name, sha) + cache[repo] = tags + return cache[repo] + + +def _version_key(tag: str) -> tuple[int, ...]: + return tuple(int(p) for p in re.findall(r"\d+", tag)) + + +def resolve(key: str, module: dict, cache: dict[str, dict[str, str]]) -> Entry: + repo = module["repo"] + repo_url = repo.removesuffix(".git") + tags = remote_tags(repo, cache) + name = DISPLAY_NAMES.get(key) or key.removeprefix("score_").replace("_", " ").title() + + version = module.get("version") + if version: + tag = next((c for c in (f"v{version}", version) if c in tags), None) + if tag is None: + print(f"warning: {key}: no tag for version {version} in {repo}", file=sys.stderr) + tag = f"v{version}" + return Entry(key, name, repo_url, tag, tag, version) + + commit = module["hash"] + matches = sorted((t for t, c in tags.items() if c == commit), key=_version_key) + tag = matches[-1] if matches else None + return Entry(key, name, repo_url, tag, tag or commit, commit) + + +def verification_docs() -> dict[str, str]: + """Map module key -> Sphinx doc path, parsed from the module verification report index.""" + text = (REPO_ROOT / VERIFICATION_INDEX).read_text() + return {m.group(2): m.group(1) for m in re.finditer(r":doc:`[^`<]*<(/modules/(\w+)/[^>\s]+)>`", text)} + + +def collect(known_good: dict) -> dict[str, list[Entry]]: + cache: dict[str, dict[str, str]] = {} + reports = verification_docs() + result: dict[str, list[Entry]] = {} + for group, modules in known_good["modules"].items(): + if group not in SECTIONS: + raise SystemExit(f"error: unknown known_good group '{group}', extend SECTIONS") + result[group] = [resolve(k, m, cache) for k, m in modules.items() if m.get("enabled", True)] + for entries in result.values(): + for e in entries: + e.verification_doc = reports.get(KEY_ALIASES.get(e.key, e.key)) + + platform = next((e for e in result.get("tooling", []) if e.key == PLATFORM_MODULE), None) + if platform: + result["tooling"].remove(platform) + result.setdefault("target_sw", []).insert(0, platform) + return result + + +def render_table(entries: list[Entry], with_verification: bool = False) -> str: + widths = "25 15 25 35" if with_verification else "30 25 45" + rows = [ + "", + ".. list-table::", + " :header-rows: 1", + f" :widths: {widths}", + "", + " * - Name", + " - Version", + " - Release notes", + ] + if with_verification: + rows.append(" - Module verification report") + for e in entries: + notes = f"`Release notes <{e.release_notes_url}>`__" if e.release_notes_url else EMPTY_CELL + rows += [ + f" * - `{e.name} <{e.source_url}>`__", + f" - ``{e.version_label}``", + f" - {notes}", + ] + if with_verification: + rows.append( + f" - :doc:`Verification report <{e.verification_doc}>`" + if e.verification_doc + else f" - {EMPTY_CELL}" + ) + return "\n".join(rows) + + +def _exists(ref: str | None, path: str) -> bool: + if ref is None: + return (REPO_ROOT / path).exists() + return ( + subprocess.run(["git", "cat-file", "-e", f"{ref}:{path}"], cwd=REPO_ROOT, capture_output=True).returncode == 0 + ) + + +def _anchors(ref: str | None, path: str) -> set[str]: + text = _git("show", f"{ref}:{path}") if ref else (REPO_ROOT / path).read_text() + anchors = set() + for line in text.splitlines(): + if line.startswith("#"): + slug = re.sub(r"[^\w\- ]", "", line.lstrip("# ").strip().lower()) + anchors.add(slug.replace(" ", "-")) + return anchors + + +def _howto(ref: str | None, release: str, candidates: list[tuple[str, str | None]]) -> str | None: + for path, heading in candidates: + if not _exists(ref, path): + continue + base = f"{ORG_URL}/{RELEASE_REPO}/blob/{release}/{path}" + if heading is None: + return base + slug = re.sub(r"[^\w\- ]", "", heading.lower()).replace(" ", "-") + if slug in _anchors(ref, path): + return f"{base}#{slug}" + return None + + +def _github_get(path: str) -> object: + request = urllib.request.Request(f"https://api.github.com{path}", headers={"Accept": "application/vnd.github+json"}) + if token := os.environ.get("GITHUB_TOKEN") or os.environ.get("GITHUB_PAT"): + request.add_header("Authorization", f"Bearer {token}") + with urllib.request.urlopen(request, timeout=30) as response: + return json.load(response) + + +def milestone_date(release: str) -> str: + """Due date of the milestone v. in the S-CORE repository, e.g. v0.10.0 -> milestone v0.10.""" + title = "v" + ".".join(release.removeprefix("v").split(".")[:2]) + milestones = _github_get(f"/repos/eclipse-score/{MILESTONE_REPO}/milestones?state=all&per_page=100") + due = next((m["due_on"] for m in milestones if m["title"] == title and m["due_on"]), None) + if due is None: + print(f"warning: no milestone {title} with a due date in eclipse-score/{MILESTONE_REPO}", file=sys.stderr) + return "TBD" + return due[:10] + + +def release_assets(release: str) -> list[dict]: + try: + return _github_get(f"/repos/eclipse-score/{RELEASE_REPO}/releases/tags/{release}").get("assets", []) + except OSError: + return [] # release not published yet + + +def render_images(release: str, ref: str | None) -> str: + assets = release_assets(release) + rows = [ + "", + ".. list-table::", + " :header-rows: 1", + " :widths: 30 15 15 40", + "", + " * - Name", + " - Tarball", + " - How-to", + " - Description", + ] + for name, directory, description, candidates in IMAGES: + if not _exists(ref, f"images/{directory}"): + continue + asset = next((a for a in assets if directory in a["name"]), None) + howto = _howto(ref, release, candidates) + rows += [ + f" * - {name}", + f" - `{asset['name']} <{asset['browser_download_url']}>`__" if asset else f" - {EMPTY_CELL}", + f" - `How-to <{howto}>`__" if howto else f" - {EMPTY_CELL}", + f" - {description}", + ] + return "\n".join(rows) + + +# Chapter icons; emoji are double-width, so the underline gets extra length. +ICONS = { + "Overview": "📋", + "Disclaimer": "📜", + "Changes to the Platform": "🔄", + "New Features": "✨", + "Breaking Changes": "💥", + "Reference Integration scope": "🎯", + "Integrated Software Modules": "🧩", + "Associated Infrastructure Modules": "🔧", + "Images": "💿", + "Known Issues/Vulnerabilities and Bug Fixes": "🐞", + "Upgrade Instructions": "🚀", + "Contact Information": "📧", +} + + +def _heading(text: str, char: str) -> str: + icon = ICONS.get(text) + if icon: + text = f"{icon} {text}" + return f"{text}\n{char * (len(text) + 2)}" + + +def status_banner(release: str, date: str, status: str) -> str: + if status == "draft": + return f""" +.. warning:: + + **DRAFT - release in progress.** {release} is not released yet (planned for + {date}). This note shows the current state of the integration and changes + until the release is published. +""" + return f""" +.. note:: + + **FINAL.** This is the release note of release + `{release} <{ORG_URL}/{RELEASE_REPO}/releases/tag/{release}>`__ ({date}). +""" + + +def diagram_name(release: str) -> str: + return "architecture_v" + "_".join(release.removeprefix("v").split(".")[:2]) + ".svg" + + +def render(release: str, origin: str, date: str, status: str, groups: dict[str, list[Entry]], ref: str | None) -> str: + short = ".".join(release.removeprefix("v").split(".")[:2]) + doc_id = "v" + short.replace(".", "") + title = f"S-CORE Platform v{short} release note" + (" (DRAFT)" if status == "draft" else "") + release_url = f"{ORG_URL}/{RELEASE_REPO}" + + header = """.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* +""" + parts = [ + header, + _heading(title, "="), + status_banner(release, date, status), + f""" +.. document:: S-CORE v{short} release note + :id: doc__score_{doc_id}_release_note + :status: {status} + :safety: QM + :security: YES + :realizes: wp__platform_sw_release_note + :version: 1 + +| **Platform Name:** S-CORE +| **Release Tag:** {release} +| **Origin Release Tag:** {origin} +| **Release Date:** {date} + +""", + _heading("Overview", "^"), + f""" +This document provides an overview of the changes, improvements, and bug fixes +included in the software platform release version {release} as compared to the +previous platform release ({origin}). + +.. figure:: /{DIAGRAM_DIR.removeprefix("docs/")}/{diagram_name(release)} + :width: 100% + :alt: S-CORE v{short} reference integration architecture + + Modules, components and images of the reference integration {release}. + +""", + _heading("Disclaimer", "-"), + """ +This release note does not "release for production", as it does not come with a +safety argumentation and a performed safety assessment. +The work products compiled in the safety package are created with care according +to a process satisfying standards, but the project, being a non-profit and open +source organization, can not take over any liability for its content. + +""", + _heading("Changes to the Platform", "^"), + "\n" + _heading("New Features", "-"), + "\n.. AI-FILL: New Features - platform-level only (see skill): one subsection (~~~) per item, each with links to PR, issue or module release note.\n", + _heading("Breaking Changes", "-"), + "\n.. AI-FILL: Breaking Changes - only changes with impact on integrators (see skill), with migration hint; remove the chapter if none.\n", + _heading("Reference Integration scope", "^"), + f""" +- **Version:** ``{release}`` +- **Source / tag:** `Reference integration <{release_url}/tree/{release}>`__ +- **Release notes:** `Reference integration release notes <{release_url}/releases/tag/{release}>`__ +- **Platform Verification Report:** :need:`doc__platform_verification_report_latest` + +""", + ] + + for group, title_text in SECTIONS.items(): + parts += [_heading(title_text, "-"), render_table(groups[group], with_verification=group == "target_sw") + "\n"] + parts += [_heading("Images", "-"), render_images(release, ref) + "\n"] + + unreleased = any(e.tag is None for entries in groups.values() for e in entries) + unreleased_hint = ( + "\n- Modules shown as *(unreleased)* are pinned to a commit and have no registry version; " + "use the commit from ``known_good.json``." + if unreleased + else "" + ) + + parts += [ + _heading("Known Issues/Vulnerabilities and Bug Fixes", "-"), + "\n- See the release notes of the individual modules.\n", + _heading("Upgrade Instructions", "-"), + f""" +- Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui{unreleased_hint} +- The module versions of this release are listed in `known_good.json <{release_url}/blob/{release}/known_good.json>`__. + +""", + _heading("Contact Information", "-"), + """ +For any questions or support, please contact the *Project leads* or raise an issue/discussion. +https://projects.eclipse.org/projects/automotive.score +""", + ] + return "\n".join(parts) + + +def render_changes(origin: dict[str, list[Entry]], current: dict[str, list[Entry]]) -> str: + old = {KEY_ALIASES.get(e.key, e.key): e for entries in origin.values() for e in entries} + new = {KEY_ALIASES.get(e.key, e.key): e for entries in current.values() for e in entries} + lines = ["| Module | Previous | Current |", "|---|---|---|"] + for key in sorted(old.keys() | new.keys()): + o, n = old.get(key), new.get(key) + renamed = f" **renamed from `{o.key}`**" if o and n and o.key != n.key else "" + if o and n and o.pin == n.pin and not renamed: + continue + lines.append( + f"| {(n or o).name} (`{key}`){renamed} | {o.version_label if o else 'new'} | {n.version_label if n else 'removed'} |" + ) + return "\n".join(lines) + + +def build_needs() -> Path: + """needs.json of the checked-out docs; Bazel rebuilds it only when the docs inputs changed.""" + print(f"building {NEEDS_TARGET} ...", file=sys.stderr) + subprocess.run(["bazel", "build", NEEDS_TARGET], cwd=REPO_ROOT, check=True, stdout=sys.stderr) + return REPO_ROOT / "bazel-bin" / "needs.json" + + +def write_diagram(args: argparse.Namespace, date: str, groups: dict[str, list[Entry]], ref: str | None) -> None: + import architecture_diagram + + software = [e for e in groups["target_sw"] if e.key != PLATFORM_MODULE] + components = architecture_diagram.load_components(args.needs or build_needs(), software) + label = _git("rev-parse", "--short", f"{ref or 'HEAD'}^{{commit}}").strip() + svg = architecture_diagram.render( + args.release, + args.origin, + date, + args.final, + groups, + collect(load_known_good(args.origin)), + ref, + label, + components, + ) + path = REPO_ROOT / DIAGRAM_DIR / diagram_name(args.release) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(svg + "\n") + print(f"wrote {path.relative_to(REPO_ROOT)}", file=sys.stderr) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("--release", required=True, help="Release tag, e.g. v0.10.0") + parser.add_argument("--origin", required=True, help="Previous release tag, e.g. v0.9.0") + parser.add_argument( + "--known-good-ref", + help="Git ref to read known_good.json from (default: release tag if it exists, else working tree)", + ) + parser.add_argument( + "--date", + help="Override the release date YYYY-MM-DD (default: due date of the milestone in eclipse-score/score)", + ) + # The note is part of the release and is finalised before the tag exists, so the state cannot be derived. + parser.add_argument("--final", action="store_true", help="Final release note (default: draft)") + parser.add_argument("--changes", action="store_true", help="Print module version changes instead of the skeleton") + parser.add_argument("--output", type=Path, help="Write to file instead of stdout") + parser.add_argument( + "--needs", + type=Path, + help=f"needs.json for the components of the architecture diagram (default: bazel build {NEEDS_TARGET})", + ) + args = parser.parse_args() + + ref = args.known_good_ref or (args.release if _tag_exists(args.release) else None) + groups = collect(load_known_good(ref)) + + if args.changes: + text = render_changes(collect(load_known_good(args.origin)), groups) + else: + date = args.date or milestone_date(args.release) + status = "valid" if args.final else "draft" + text = render(args.release, args.origin, date, status, groups, ref) + write_diagram(args, date, groups, ref) + + if args.output: + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(text + "\n") + else: + print(text) + + +if __name__ == "__main__": + main() From 54621439e306123da18de841ce8da9e559b9b482 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Thu, 29 Oct 2026 11:13:43 +0100 Subject: [PATCH 05/80] Replace Overall Status with a Release-wide Progress Overview next to the release notes (#392) * Reduce Overall Status to per-module stacked progress charts The Overall Status page predated the Platform and Module Verification Reports and duplicated them: five large per-PA module tables, needpie process-status rows and rollout bars, all maintained by hand through a seven-file agent skill. Those reports are now the authoritative source for per-module status, so the page is cut down to the one thing they do not provide: progress across releases. What the page keeps is the four release-over-release charts (requirements, architecture, implementation, verification). Each bar is now stacked by module instead of a single aggregate block, so the composition of a release is visible at a glance, and a v0.10 (forecast) column shows the current state of the pinned modules. The section labels overall_status_pa2..pa5 are preserved because pi1/pi2/pi3.rst link to them. The data is no longer hand-maintained. scripts/overall_status/ collect_metrics.py walks the reference_integration release tags, reads each tag's known_good.json, resolves the module pins and counts requirements, architecture elements, lines of code and test definitions directly from the module sources into overall_status_data.json. generate_progress_charts.py renders the SVGs from that file and offers --check so CI can detect stale charts. Recounting every release from source changes previously published figures. Three reasons, all corrections: TRLC requirements were not parsed before (Communication and Config Management were badly undercounted), test counts were CI executions rather than test definitions, and lines of code were estimated from file sizes instead of counted. The page states that the numbers are source-derived and will not match CI dashboards. The skill collapses from seven files to one and the agent is rewritten around the two scripts. * Split verification chart into unit and integration tests The combined "tests per release" chart mixed two very different things: unit tests, which number in the thousands and are dominated by Baselibs and Communication, and component/feature integration tests, which number in the hundreds. The integration tests were invisible as a sliver at the top of the bar. collect_metrics.py now buckets a test definition by its path: anything under a directory named component, integration, integration_test(s), integration_testing or itf counts as an integration test, everything else as a unit test. Rendered as pa5_unit_test_progress.svg and pa5_integration_test_progress.svg; the combined pa5_verification_progress.svg is removed. The integration count also includes reference_integration's own feature tests under feature_integration_tests/ and platform_integration_tests/, attributed to the module under test via the path segment below them (RI_ALIASES). Without them Persistency would read as zero integration tests while actually having the most. reference_integration is measured from this checkout rather than a clone, and only its test count is taken - its lines of code stay out of the implementation chart, which counts module sources. Two presentation fixes: the slots within a bar are now ordered by size with the largest at the bottom, and MODULE_COLORS is documented as the single colour source shared by every chart, so a module is recognisable by the same colour throughout the page. * Move Overall Status to the releases as Release-wide Progress Overview The roadmap page overall_status.rst is replaced by docs/s_core_v_1/releases/progress_overview.rst, listed first in the releases toctree before the release notes. Data file, scripts (scripts/progress_overview), skill and agent (progress-overview) and the chart labels are renamed accordingly; the roadmap, PI pages, integration process docs and the v0.8 note link to it. collect_metrics.py orders the release tags by version (v0.10.0 after v0.9.0) and names the forecast column after the next release milestone of eclipse-score/score instead of a hard-coded label. Removes CSS for the old status tables that is no longer used. * Refresh the release-wide progress overview data (2026-10-29) Recollected all columns with collect_metrics.py on the branch merged with latest main and regenerated the charts. The release columns are unchanged; the v0.10 forecast column moves from 289 to 292 integration tests. (cherry picked from commit 75f2b3c26db14df83d2b472f55a494e6a441e8d7) --- .github/agents/overall-status.agent.md | 109 -- .github/agents/progress-overview.agent.md | 59 + .github/skills/overall-status/SKILL.md | 65 - .../overall-status/references/common.md | 917 ------------- .../references/pa1-change-management.md | 202 --- .../references/pa2-requirements.md | 76 -- .../references/pa3-architecture.md | 76 -- .../references/pa4-implementation.md | 85 -- .../references/pa5-verification.md | 217 --- .github/skills/progress-overview/SKILL.md | 107 ++ docs/_assets/custom.css | 90 +- docs/_assets/pa2_impl_progress.svg | 230 ++-- docs/_assets/pa3_arch_progress.svg | 199 +-- docs/_assets/pa4_impl_progress.svg | 202 ++- .../_assets/pa5_integration_test_progress.svg | 108 ++ docs/_assets/pa5_unit_test_progress.svg | 137 ++ docs/_assets/pa5_verification_progress.svg | 152 --- docs/conf.py | 2 +- docs/integration_process/reference.rst | 6 +- docs/integration_process/step_7_reporting.rst | 14 +- .../s_core_v_1/releases/progress_overview.rst | 104 ++ .../releases/progress_overview_data.json | 569 ++++++++ .../releases/release_note_score_v0_8.rst | 2 +- docs/s_core_v_1/releases/releases.rst | 7 +- docs/s_core_v_1/roadmap/overall_status.rst | 1159 ----------------- docs/s_core_v_1/roadmap/pi1.rst | 19 +- docs/s_core_v_1/roadmap/pi2.rst | 6 +- docs/s_core_v_1/roadmap/pi3.rst | 4 +- docs/s_core_v_1/roadmap/planning_approach.rst | 2 +- docs/s_core_v_1/roadmap/roadmap.rst | 1 - scripts/progress_overview/collect_metrics.py | 461 +++++++ .../generate_progress_charts.py | 171 +++ 32 files changed, 2165 insertions(+), 3393 deletions(-) delete mode 100644 .github/agents/overall-status.agent.md create mode 100644 .github/agents/progress-overview.agent.md delete mode 100644 .github/skills/overall-status/SKILL.md delete mode 100644 .github/skills/overall-status/references/common.md delete mode 100644 .github/skills/overall-status/references/pa1-change-management.md delete mode 100644 .github/skills/overall-status/references/pa2-requirements.md delete mode 100644 .github/skills/overall-status/references/pa3-architecture.md delete mode 100644 .github/skills/overall-status/references/pa4-implementation.md delete mode 100644 .github/skills/overall-status/references/pa5-verification.md create mode 100644 .github/skills/progress-overview/SKILL.md create mode 100644 docs/_assets/pa5_integration_test_progress.svg create mode 100644 docs/_assets/pa5_unit_test_progress.svg delete mode 100644 docs/_assets/pa5_verification_progress.svg create mode 100644 docs/s_core_v_1/releases/progress_overview.rst create mode 100644 docs/s_core_v_1/releases/progress_overview_data.json delete mode 100644 docs/s_core_v_1/roadmap/overall_status.rst create mode 100644 scripts/progress_overview/collect_metrics.py create mode 100644 scripts/progress_overview/generate_progress_charts.py diff --git a/.github/agents/overall-status.agent.md b/.github/agents/overall-status.agent.md deleted file mode 100644 index 8b21532269c..00000000000 --- a/.github/agents/overall-status.agent.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -description: "Main actor that updates or regenerates the Feature and Process Status table in docs/s_core_v_1/roadmap/overall_status.rst. Use when: refreshing the overall status / feature status tracker, regenerating the table after a known_good.json ref bump, adding a module row, or updating the per-PA progress charts. Derives completion status from eclipse-score GitHub repos (Baselibs, Communication, Logging, Persistency, Time, Config Management, Lifecycle, Security/Crypto, Some/IP)." -name: Overall Status -argument-hint: "optional: module name or 'all'" -tools: [read, edit, search, execute, todo] -model: "Claude Opus 4.8 (copilot)" -user-invocable: true ---- - -You are the **Overall Status** maintainer. Your single job is to update or -regenerate the Feature and Process Status table in -`docs/s_core_v_1/roadmap/overall_status.rst` so it faithfully reflects the -live state of the pinned `eclipse-score` repositories. - -> **Preferred model.** This agent is best run with **Claude Opus 4.8** — the -> multi-repo counting, plausibility gating and RST/SVG editing benefit from -> its stronger long-context reasoning. The `model` field in the frontmatter -> expresses this preference; if Opus 4.8 is unavailable, any capable model -> may be used as a fallback. - -You **orchestrate**; the **"how" lives in the `overall-status` skill**. Read -the relevant skill file at each phase and follow it exactly — do not invent -counting rules, path filters or formatting from memory. - -## Skill map (read these — do not duplicate their content here) - -- Shared engine: `.github/skills/overall-status/references/common.md` -- PA1 Change Management: `.github/skills/overall-status/references/pa1-change-management.md` -- PA2 Requirements: `.github/skills/overall-status/references/pa2-requirements.md` -- PA3 Architecture: `.github/skills/overall-status/references/pa3-architecture.md` -- PA4 Implementation: `.github/skills/overall-status/references/pa4-implementation.md` -- PA5 Verification: `.github/skills/overall-status/references/pa5-verification.md` -- Index / overview: `.github/skills/overall-status/SKILL.md` - -## Constraints - -- DO NOT add a row for **Orchestrator** — it is never tracked. -- DO NOT drop a module or change a column that already exists (the sanity - check in Common Step 5a must pass). -- DO NOT use `blob/main` URLs for repos pinned in `known_good.json` — counts - come from the pinned 40-char SHA, so links must point at the same SHA. -- DO NOT downgrade a curated cell on a hunch — follow the plausibility gate - (Common Step 5b): `✅`/`🔄` → `❌` is almost always a filter bug, stop and - investigate. -- DO NOT count `aou_req` toward Feature Req, and never double-count - Communication vs. Some/IP (`'some_ip_gateway' not in p` guard). -- DO NOT leave a stale **data collection date** — always bump it. -- ONLY edit `overall_status.rst` and the per-PA SVGs under `docs/_assets/`; - the pie-chart rows and `Process Status` rubrics stay unchanged unless the - sphinx-needs tag changes. - -## Workflow - -Maintain a todo list. Run the **Common** setup once, then one phase per -Process Area, then validate and write. - -### Phase 0 — Common setup - -Read `references/common.md`. Execute: -1. **Step 0** — resolve pinned refs from `known_good.json` - (`score_platform` lives in `tooling`, everything else in `target_sw`). -2. **Step 1** — fetch the recursive git tree for every repo at its pinned ref. -3. Load the counting helpers (Steps 2–3) and the formatting rules (C4). - -Scope the run by the optional argument: a module name limits work to that -row; `all` (or no argument) refreshes every module. - -### Phases 1–5 — one per Process Area - -For each PA, read its reference file, then compute every cell for every -tracked module: - -| Phase | Read | Produce | -|---|---|---| -| PA1 | `references/pa1-change-management.md` | `CR approved` from Feature Request issues (label∪keyword union, milestone scope, Project V2 status, manual overrides) | -| PA2 | `references/pa2-requirements.md` | `Feature Req`, `Component Req` (split rendering), `Req. Inspection` via path filters | -| PA3 | `references/pa3-architecture.md` | `Feature Arch`, `Component Arch`, `Arch. Inspection` | -| PA4 | `references/pa4-implementation.md` | `SW Dev Plan`, `Code` (LOC), `Detailed Design`, `Impl. Inspection` | -| PA5 | `references/pa5-verification.md` | `Unit Tests`, `C0/C1 Cov`, `Comp. IT`, `Feat. IT`, `Static`, `Dynamic`, `Module Ver. Rpt` + platform report admonition | - -Aggregate two-repo modules (Baselibs, Logging, Persistency, Lifecycle) by -**summing** both sources. Apply every source link per Common C4.2. - -### Phase 6 — Validate (gate before writing) - -Run Common Step 5: structural check (same modules, same columns) and the -per-cell plausibility diff against the current RST. Stop and investigate any -🛑/⚠️ transition. - -### Phase 7 — Write the RST - -Per Common Step 6: update each PA table, each per-table **Rollout status** -`raw:: html` block, and the **data collection date** admonition (UTC, -`YYYY-MM-DD`). Keep cross-reference labels `overall_status_pa1…pa5`. - -### Phase 8 — Refresh progress charts - -Per Common C6: recompute the four-release totals and update the bars/labels -in the per-PA SVGs under `docs/_assets/`. Use the curated table sums for the -PA5 `now` column. - -## Output - -When done, report: -- which modules/PAs were refreshed and the data collection date set; -- any 🛑/⚠️ plausibility transitions you investigated and how you resolved them; -- whether the SVGs were updated and any >10 % method divergence noted; -- a reminder to build the docs (a clean Sphinx build with no - `undefined label` warnings is the success criterion). diff --git a/.github/agents/progress-overview.agent.md b/.github/agents/progress-overview.agent.md new file mode 100644 index 00000000000..c61a127ab9c --- /dev/null +++ b/.github/agents/progress-overview.agent.md @@ -0,0 +1,59 @@ +--- +description: "Refreshes the Release-wide Progress Overview (per-release progress charts) on docs/s_core_v_1/releases/progress_overview.rst. Use when: a release shipped, known_good.json was bumped, a module was added, or the charts look stale. Recounts every release from the pinned module sources via scripts/progress_overview/collect_metrics.py and regenerates the stacked-bar SVGs." +name: Progress Overview +argument-hint: "optional: release name, e.g. v1.0" +tools: [read, edit, search, execute, todo] +--- + +You maintain the **Release-wide Progress Overview** charts in +`docs/s_core_v_1/releases/progress_overview.rst`. + +The page is deliberately thin: five charts showing how the platform grew across +releases, plus links to the verification reports. Per-module and per-component +detail lives in the **Platform Verification Report** and the **Module +Verification Reports** under `docs/verification_report/` — those are generated +from the build's needs data and are authoritative. Do not reintroduce tables +here. + +The **"how" lives in the `progress-overview` skill** +(`.github/skills/progress-overview/SKILL.md`). Read it and follow it; do not +invent counting rules or hand-edit SVGs from memory. + +## Workflow + +Maintain a todo list. + +1. Read the skill. +2. Check `GITHUB_PAT` is set; the collector needs it for tag and pin lookups. +3. Nothing to rename for a new target release: the forecast label comes from + the next release milestone in eclipse-score/score (see the skill). +4. Run `python3 scripts/progress_overview/collect_metrics.py` (recounts every + column, ~5 min, clones to `/tmp`). +5. Run `python3 scripts/progress_overview/generate_progress_charts.py`. +6. Bump the data-collection date in `progress_overview.rst` to `data_collected`. +7. Verify with `--check` and a docs build without `undefined label` warnings. +8. Sanity-check the result: a module collapsing to near zero between two + columns is almost always an unresolved pin or a moved path, not real + progress. Investigate before accepting it. + +## Constraints + +- The data file and the SVGs are generated output. Fix the collector, not its + results. +- DO NOT append a single column by hand. Re-collect all of them so every column + used the same counter. +- DO NOT drop the labels `progress_overview_requirements`, + `progress_overview_architecture`, `progress_overview_implementation` and + `progress_overview_verification`; + `pi1.rst`, `pi2.rst` and `pi3.rst` link to them. +- DO NOT add per-module status tables, pie charts or rollout bars back to the + page — that information now belongs to the verification reports. +- DO NOT reconcile these numbers against CI dashboards. They are source-derived + by design and will differ. +- DO NOT give a module a chart-specific colour. `MODULE_COLORS` applies to every + chart so a colour is recognisable across the whole page. + +## Output + +Report which metrics moved, any module whose count changed sharply and why, +the date you set, and remind the user to rebuild the docs. diff --git a/.github/skills/overall-status/SKILL.md b/.github/skills/overall-status/SKILL.md deleted file mode 100644 index 465e5a223d6..00000000000 --- a/.github/skills/overall-status/SKILL.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -name: overall-status -description: "How-to reference for the Feature and Process Status table in docs/s_core_v_1/roadmap/overall_status.rst. Explains the counting model, status criteria, RST formatting, path filters and progress-chart workflow used to derive completion status from eclipse-score GitHub repos (Baselibs, Communication, Logging, Persistency, Time, Config Management, Lifecycle, Security/Crypto, Some/IP). Use when updating, regenerating or reviewing the overall status / feature status tracker. The overall-status agent orchestrates the run; this skill holds the 'how'." -argument-hint: "optional: module name or 'all'" ---- - -# Feature and Process Status Tracker — the "how" - -This skill is the **methodology** for refreshing the table in -`docs/s_core_v_1/roadmap/overall_status.rst` from live `eclipse-score` GitHub -repositories pinned via `known_good.json`. - -The **[overall-status agent](../../agents/overall-status.agent.md)** is the -main actor: it is started to update or regenerate the table and executes the -procedure end-to-end. This skill supplies the detailed rules the agent reads -at each phase. - -The content is split into a **Common** part (shared engine) and one file per -**Process Area** (PA-specific data), so each concern stays self-contained. - ---- - -## When to use - -- Update / refresh the overall status (feature & process status) table. -- Regenerate the table from scratch after a `known_good.json` ref bump. -- Add a new module row, or review the table for plausibility. -- Update the per-PA progress SVG charts. - -## Structure — Common + Process Areas - -| Scope | File | What it contains | -|---|---|---| -| **Common** | [references/common.md](./references/common.md) | Scope & modules, repos & pinned refs, counting model, RST formatting rules, the shared procedure (Steps 0–7), the progress-graphics workflow, and limitations | -| **PA1** | [references/pa1-change-management.md](./references/pa1-change-management.md) | `CR approved` — Feature Request issue lookup (labels, milestone scope, Project V2 status, manual overrides); the PA1-only modules Diagnostic Services & NM | -| **PA2** | [references/pa2-requirements.md](./references/pa2-requirements.md) | `Feature Req` · `Component Req` · `Req. Inspection` — directive types, split rendering, path filters | -| **PA3** | [references/pa3-architecture.md](./references/pa3-architecture.md) | `Feature Arch` · `Component Arch` · `Arch. Inspection` — directive types, path filters | -| **PA4** | [references/pa4-implementation.md](./references/pa4-implementation.md) | `SW Dev Plan` · `Code` (LOC) · `Detailed Design` · `Impl. Inspection` | -| **PA5** | [references/pa5-verification.md](./references/pa5-verification.md) | `Unit Tests` · `C0/C1 Cov` · `Comp. IT` · `Feat. IT` · `Static` · `Dynamic` · `Module Ver. Rpt`; coverage CI keys, static/dynamic CI table, platform verification report | - -## Scope at a glance - -Tracked modules (one row each, in order): -`Baselibs · Communication · Logging · Persistency · Time · Config Mgmt · -Lifecycle · Security/Crypto · Diagnostic Services · NM · Some/IP`. -**Orchestrator** is never tracked. - -| PA | Title | sphinx-needs tag | Columns | -|---|---|---|---| -| PA1 | Change Management | `change_management` | CR approved | -| PA2 | Requirements Engineering | `requirements_engineering` | Feature Req · Component Req · Req. Inspection | -| PA3 | Architecture Design | `architecture_design` | Feature Arch · Component Arch · Arch. Inspection | -| PA4 | Implementation | `implementation` | SW Dev Plan · Code · Detailed Design · Impl. Inspection | -| PA5 | Verification | `verification` | Unit Tests · C0/C1 Cov · Comp. IT · Feat. IT · Static · Dynamic · Module Ver. Rpt | - -## Quickstart - -1. Read [references/common.md](./references/common.md) and run **Step 0–1** - (resolve pinned refs, fetch repo trees). -2. For each Process Area, read its file and compute the cells using the - Common counting model + the PA's path filters / criteria. -3. Run the **sanity checks** (Common Step 5) before writing. -4. Write the RST (Common Step 6) — update every PA table, the per-table - **Rollout status** row, and the **data collection date**. -5. Refresh the per-PA progress SVGs (Common C6). diff --git a/.github/skills/overall-status/references/common.md b/.github/skills/overall-status/references/common.md deleted file mode 100644 index 7d4d77d614e..00000000000 --- a/.github/skills/overall-status/references/common.md +++ /dev/null @@ -1,917 +0,0 @@ -# Common Reference — shared engine for all Process Areas - -This file holds everything that is **not** specific to a single Process Area: -scope, repositories, the counting model, RST formatting rules, the shared -procedure, the progress-graphics workflow and the known limitations. - -Per-PA details live in the sibling files: - -| PA | File | Topic | -|----|------|-------| -| PA1 | [pa1-change-management.md](./pa1-change-management.md) | CR approved (Feature Request issues) | -| PA2 | [pa2-requirements.md](./pa2-requirements.md) | Feature/Component Req + Req. Inspection | -| PA3 | [pa3-architecture.md](./pa3-architecture.md) | Feature/Component Arch + Arch. Inspection | -| PA4 | [pa4-implementation.md](./pa4-implementation.md) | SW Dev Plan, Code/LOC, Detailed Design, Impl. Inspection | -| PA5 | [pa5-verification.md](./pa5-verification.md) | Tests, Coverage, Static/Dynamic, Module Ver. Report | - ---- - -## C1. Scope & modules - -Tracked modules (one table row each, in this order): - -``` -Baselibs · Communication · Logging · Persistency · Time · Config Mgmt -Lifecycle · Security/Crypto · Diagnostic Services · NM · Some/IP -``` - -Excluded: **Orchestrator** — never add a row for it. - -Five process areas, each with its own table: - -| PA | Title | sphinx-needs tag | Columns | -|---|---|---|---| -| PA1 | Change Management | `change_management` | CR approved | -| PA2 | Requirements Engineering | `requirements_engineering` | Feature Req · Component Req · Req. Inspection | -| PA3 | Architecture Design | `architecture_design` | Feature Arch · Component Arch · Arch. Inspection | -| PA4 | Implementation | `implementation` | SW Dev Plan · Code · Detailed Design · Impl. Inspection | -| PA5 | Verification | `verification` | Unit Tests · C0/C1 Cov · Comp. IT · Feat. IT · Static · Dynamic · Module Ver. Rpt | - -> **PA1-only modules: Diagnostic Services and NM.** Both have a row in every -> PA table for layout consistency, but only the PA1 column carries real data. -> Full handling is documented in [pa1-change-management.md](./pa1-change-management.md); -> their PA2–PA5 cells render `❌ Open` and they contribute `0` to the per-PA -> progress charts (see [C6](#c6-progress-graphics-per-pa-svg-charts)) and are -> excluded from the coverage weighted mean (see [C7](#c7-limitations)). - ---- - -## C2. Repos and pinned refs - -Each module has content in **`eclipse-score/score`** (feature-level) and in its -**own repo** (component-level). Always query both. - -| Module | `known_good.json` key | Own repo | Score-side path | -|---|---|---|---| -| Baselibs | `score_baselibs` | `eclipse-score/baselibs` | `docs/{features,modules}/baselibs/**` | -| Communication | `score_communication` | `eclipse-score/communication` | `docs/{features,modules}/communication/**` | -| Logging | `score_logging` | `eclipse-score/logging` | `docs/features/analysis-infra/logging/**`, `docs/modules/logging/**` | -| Persistency | `score_persistency` | `eclipse-score/persistency` (`docs/persistency/kvs/**`) | `docs/features/persistency/**` | -| Time | — | `eclipse-score/inc_time` | `docs/features/time/**` | -| Config Mgmt | — | `eclipse-score/config_management` | `docs/features/configuration/**` | -| Lifecycle | `score_lifecycle_health` | `eclipse-score/lifecycle` (`docs/module/health_monitor/**`) | `docs/features/lifecycle/**` | -| Security/Crypto | — | `eclipse-score/inc_security_crypto` | `docs/features/security_crypto/**` | -| Some/IP | — | `eclipse-score/inc_someip_gateway` | `docs/features/communication/some_ip_gateway/**` | - -> **No row for Diagnostic Services or NM** — see [C1](#c1-scope--modules). They -> are PA1-only; PA2–PA5 cells render `❌ Open` until their own repos / -> `known_good.json` keys exist, at which point a row must be added here **and** -> in the relevant PA path-filter table. - -> `eclipse-score/score` itself is pinned under key **`score_platform`** in the -> **`tooling`** section of `known_good.json` (not `target_sw`). Use the helper -> `pinned_ref()` in [Step 0](#step-0--resolve-pinned-refs). - -> **TRLC files** (`.trlc`) are not parsed by this skill. `eclipse-score/communication` -> keeps real component requirements in -> `score/mw/com/requirements/component_requirements/component_requirements_ipc.trlc`; -> render them in the cell as `0/0 comp_req [TRLC]` plus a link. - ---- - -## C3. Counting model - -For each deliverable column a set of allowed directive types is defined -(see [C3.1](#c31-allowed-directive-types-per-deliverable)). For every RST file -under the deliverable's path filter, count the `.. ::` directive blocks -whose immediately-following indented `:status:` field equals `valid` -(= **valid**) and the total number of such blocks regardless of status -(= **total**). Sum both numbers across all files. - -The cell renders as: - -| Condition | Output | -|---|---| -| total = 0 | `❌ Open` | -| valid = total > 0 | `✅ Available (valid/total)` | -| 0 ≤ valid < total | `🔄 NN% (valid/total)`, `NN = floor(100 · valid / total)` | - -> valid = 0 with total > 0 renders as `🔄 0% (0/total)`, **never** `❌ Open`. -> `❌ Open` means *no files / no directives found at all*. - -### C3.1 Allowed directive types per deliverable - -| Deliverable | Directive types in `A` | PA | -|---|---|---| -| Feature Requirements | `feat_req` | PA2 | -| Component Requirements | `comp_req`, `aou_req` | PA2 | -| Feature Architecture | `feat`, `feat_arc`, `feat_arc_sta`, `feat_arc_dyn` | PA3 | -| Component Architecture | `comp`, `comp_arc`, `comp_arc_sta`, `comp_arc_dyn`, `logic_arc_int`, `logic_arc_int_op`, `real_arc_int`, `real_arc_int_op` | PA3 | -| Detailed Design | `dd`, `dd_sta`, `dd_dyn` | PA4 | -| Req./Arch./Impl. Inspection | document-level `:status:` of each `chklst_*.rst` (one per file) | PA2/3/4 | - -Never counted as Req/Arch directives: `stkh_req`, `tool_req`, `document`, -`needtable`, `needpie`, `needextend`, `figure`, `uml`, `note`, `attention`, -`toctree`, `grid`. AoUs (`aou_req`) count for **Component** Req only, never for -Feature Req. - -### C3.2 Component Requirements split rendering - -Component Requirements counts both `comp_req` and `aou_req` but **renders them -split** so the reader sees what fraction is real component requirements vs. -Assumptions of Use (rendered by `comp_req_cell()`, see -[Step 3](#step-3--render-cells)): - -``` -✅ Available (84/84 comp_req + 32/32 AoU) -✅ Available (0/0 comp_req [TRLC] + 33/33 AoU) ← Communication: comp_req live in .trlc -✅ Available (35/35 comp_req) ← no AoUs -🔄 0% (0/1 comp_req + 0/1 AoU) ← mixed, none valid -``` - -If both subtotals are zero → `❌ Open`. - -### C3.3 Inspections - -Each `chklst_*.rst` file contains a single `.. document::` directive whose -indented `:status:` field is treated as the document status. Each file -contributes `(1, 1)` if `:status: valid`, else `(0, 1)`. Files without any -`:status:` field contribute `(0, 0)`. - -> **Lines of Code (PA4 Code column)** is a counting variant that uses byte -> size instead of directive blocks. It is documented with the PA4 deliverables -> in [pa4-implementation.md](./pa4-implementation.md), and shares the `is_src` -> filter defined in [C6.2](#c62-metrics--what-each-chart-sums). - ---- - -## C4. RST formatting rules - -### C4.0 Cross-reference labels (mandatory) - -Each `Process Area N — …` heading **must** be preceded by an explicit -target label so that `pi1.rst`, `pi2.rst`, `pi3.rst` (and any future -release-gate page) can link back via `:ref:\`overall_status_paN\``: - -```rst -.. _overall_status_pa2: - -Process Area 2 — Requirements Engineering ------------------------------------------ -``` - -Required labels: `overall_status_pa1`, `overall_status_pa2`, -`overall_status_pa3`, `overall_status_pa4`, `overall_status_pa5`. -Omitting any of them produces Sphinx `WARNING: undefined label` -messages from the PI release-gate pages — a clean build is the -success criterion. - -### C4.1 Cell layout - -Status emoji + label on the **first line**; everything else (counts, links, -notes) goes on a **line-block** (`| `) after a blank line. - -> **Pluralisation.** When emitting test counts, write `1 test` (singular) -> and `N tests` (plural). A naive `f"{n} tests"` will produce the wrong -> `1 tests` for Logging Feat. IT and any other 1-test cell: -> -> ```python -> def plur(n, s="test"): -> return f"{n} {s}" if n == 1 else f"{n} {s}s" -> ``` - -```rst - - ✅ Available (37/37) - - | `feature-level `__ - | `abi-compatible-data-types `__ -``` - -```rst - - 🔄 - - | **C0:** 92.3% - | **C1:** 60.3% (cpp) - | **Rust line:** 74.4% -``` - -> **PA5 test counts on a new line.** For the **Unit Tests**, **Comp. IT** -> and **Feat. IT** columns, the test count goes on its **own line-block -> line** below the status — never on the same line as `✅ Available`: -> -> ```rst -> - ✅ Available -> -> | 5376 tests -> ``` -> -> Do **not** emit `✅ Available (5376 tests)` on a single line. The -> `(valid/total)` parenthetical form ([C3](#c3-counting-model), -> requirements/AoU columns) is unaffected. - -> **Line-blocks inside table cells render flush-left.** Sphinx wraps an -> indented `| ...` continuation in a `
` -> which by default carries a left border + tinted background — visually -> noisy inside a status table. `docs/_assets/custom.css` neutralises this -> for `table … blockquote` and `table … .line-block` (zero margin/padding, -> `border: none`, `background: transparent`). Do **not** add per-cell -> raw-HTML wrappers to fight the styling — let the CSS rule do it. - -When mentioning `:status: invalid` in prose, **always use double backticks**: -`` ``:status: invalid`` `` (single backticks are RST hyperlink syntax → parse warning). - -### C4.2 Source links — mandatory - -Every Req / Arch / Detailed-Design / Code / Inspection cell that is **not** -`❌ Open` **MUST** carry one or more source links directly below the count -line. Rules: - -- One bullet per source RST file or per logical group (e.g. per module - subfolder). **List every matching source** — Feature Req, Component Req, - Feature Arch, Component Arch, Detailed Design, **and** Inspection cells - use no link cap. Earlier revisions capped non-Inspection cells at ~4 - links; that rule is obsolete because the truncated cells (e.g. Baselibs - with 10 components) hid components from the reader. -- **Link labels MUST be the component (or feature) name**, derived from - the URL path. This applies to **all** cells with source links — - Feature Req, Component Req, Feature Arch, Component Arch, - Detailed Design, **and** Inspection cells. Do **not** use the bare - filename (`index`, `requirements`, `aou_req`, `mw-fr_logging_req`, - `chklst_req_inspection`, …) as the label. -- Algorithm to derive the label from a path: - 1. drop the filename; - 2. drop trailing segments `requirements` / `architecture` / - `detailed_design` / `docs` / `component_requirements` / - `feature_requirements`; - 3. use the last remaining path segment. - - Examples: - - | Path | Label | - |---|---| - | `docs/features/baselibs/docs/requirements/index.rst` | `baselibs` | - | `docs/modules/baselibs/concurrency/docs/requirements/index.rst` | `concurrency` | - | `docs/features/communication/ipc/docs/requirements/index.rst` | `ipc` | - | `docs/persistency/kvs/requirements/index.rst` | `kvs` | - | `docs/module/health_monitor/requirements/index.rst` | `health_monitor` | - | `score/mw/com/requirements/component_requirements/component_requirements_ipc.trlc` | `com` | - | `docs/features/baselibs/docs/requirements/chklst_req_inspection.rst` | `baselibs` | - | `docs/modules/baselibs/concurrency/docs/requirements/chklst_req_inspection.rst` | `concurrency` | - -- Inspection cells (`Req. Inspection`, `Arch. Inspection`, - `Impl. Inspection`) link the underlying `chklst_*_inspection.rst` files, - not the parent index — readers want to click directly into the checklist - whose `:status:` drives the cell. -- URLs **MUST** point to the pinned ref (40-char SHA from `known_good.json`), - not `blob/main` — counts come from the pinned ref, and `main` may have been - restructured. For repos not in `known_good.json` (`inc_time`, - `config_management`, `inc_security_crypto`, `inc_someip_gateway`), - `blob/main` is acceptable. -- For Communication `comp_req` link the `.trlc` file marked `[TRLC]`. -- **PA4 Code cell** links the **repository root** (e.g. - `https://github.com/eclipse-score/baselibs`). The link label MUST be the - repository name (last URL segment), **not** the literal word `repo` — - e.g. `baselibs`, `communication`, `inc_time`, `config_management`, - `inc_security_crypto`, `inc_someip_gateway`. -- **PA5 Static Analysis cell** is **status-only** — do NOT add links to - CI workflow files or `quality/static_analysis` directories under the - status. Same rule as Dynamic Analysis (see - [pa5-verification.md](./pa5-verification.md)). -- **PA5 Platform Verification Report** is a **single project-wide - deliverable** — it does **not** get a per-module column. Render it as - a prominent admonition immediately after the PA5 list-table (styled - via `.platform-ver-report` in `docs/_assets/custom.css` — larger font, - blue accent, so it can't be missed): - - ```rst - .. admonition:: Platform Verification Report - :class: important platform-ver-report - - `platform_ver_report - / - docs/score_releases/verification/platform_ver_report.rst>`__ - — 🔄 **Draft** (single project-wide deliverable) - ``` - - Update the status emoji + label to match the report's current - `:status:` field (✅ **Valid** / 🔄 **Draft**). Do **not** revert this - to a plain `**bold paragraph**` — the admonition class is what makes - it visually prominent. - -### C4.2.1 Per-link status markers — Inspection & Report cells (mandatory) - -Inspection cells (`Req. Inspection`, `Arch. Inspection`, `Impl. Inspection`) -and the **Module Verification Report** cells routinely list many source -links (Baselibs alone has 10 checklists per inspection column). A reader -cannot tell which checklist is finished from the aggregate `3/10` count -alone. Therefore **every source link in these cells MUST be prefixed with a -status marker** derived from the *linked* file's document-level `:status:` -(the same `:status:` that drives the cell count — see -[C3.3](#c33-inspections)): - -| Linked file `:status:` | Marker | -|---|---| -| `valid` | ✅ | -| `draft` | 🔄 | -| `invalid` | ❌ | -| missing / no `:status:`| ⚠️ (investigate — usually a wrong path) | - -Format — the marker sits **between** the line-block bar and the backtick: - -```rst - - 🔄 30% (3/10) - - | ✅ `baselibs <…/docs/requirements/chklst_req_inspection.rst>`__ - | ✅ `bitmanipulation <…/docs/requirements/chklst_req_inspection.rst>`__ - | 🔄 `concurrency <…/docs/requirements/chklst_req_inspection.rst>`__ -``` - -Hard rules: -- Applies to **every** cell whose links point at `chklst_*_inspection.rst` - files (`Req./Arch./Impl. Inspection`) **and** at - `module_verification_report.rst` / `platform_ver_report.rst` files. -- The marker reflects the **document-level** `:status:` of the *linked* - file (parse with `count_checklist_status`, see - [Step 2](#step-2--count-directives)), **not** the aggregate cell status. -- Self-check: the number of ✅ markers in a cell **MUST equal** the `valid` - numerator of that cell (e.g. `3/10` ⇒ exactly three ✅). A mismatch means - a stale marker or a wrong link. -- Requirements / Architecture / Detailed-Design / Code cells (which link - `index.rst` requirement/architecture files, **not** checklists) do **not** - get per-link markers — only inspection and report links do. -- Markers are additive to the existing link rules ([C4.2](#c42-source-links--mandatory)): - keep the component-name label, the pinned-ref URL and the no-cap listing. - -Helper (renders one marked inspection/report link): - -```python -INSP_MARK = {"valid": "✅", "draft": "🔄", "invalid": "❌"} - -def insp_link(label, url, status): - """status is the document :status: of the linked chklst_*/report file, - from count_checklist_status()'s underlying :status: match.""" - return f"| {INSP_MARK.get(status, '⚠️')} `{label} <{url}>`__" -``` - -### C4.3 Per-PA progress figures - -Each Process Area embeds one SVG figure under `docs/_assets/`: - -| PA | File | `:width:` | -|-----|-----------------------------------|------------| -| PA2 | `pa2_impl_progress.svg` | `720px` | -| PA3 | `pa3_arch_progress.svg` | `720px` | -| PA4 | `pa4_impl_progress.svg` | `720px` | -| PA5 | `pa5_verification_progress.svg` | `1080px` | - -The PA5 verification figure is rendered at **1.5× the standard width** -(`1080px` instead of `720px`) because it carries four series across four -release columns and a 720px render makes the per-module test counts hard -to read. All other PAs keep the default 720px width. - -```rst -.. figure:: /_assets/pa5_verification_progress.svg - :alt: PA5 verification progress - :width: 1080px - - Test counts and coverage across the 11 PA2 modules per release - (v0.5.0-beta → v0.6.0 → v0.7.0 → current main). -``` - -### C4.4 Pie chart row (Process Status) - -Each PA section starts with a pie chart row. The section is introduced by a -**Process Status** rubric that uses the `status-heading` class for an -enlarged appearance (styles in `docs/_assets/custom.css`): - -```rst -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and '' in tags - type == 'gd_req' and is_external == False and status == 'draft' and '' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and '' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and '' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area() - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status() -``` - -Hard rules: -- `.. needpie::` does **not** support `:title:` (build error). -- Each cell needs `.. rst-class:: small-pie-cell` before its `.. needpie::`. -- Pie chart sizing is governed by `_assets/custom.css` (class - `compact-overview-table`, fluid 33% per column, `!important` img override). - Do not add explicit pixel sizes. - -### C4.5 Rollout status row - -Directly above the module tracker table, render a **single-line row** with -a label, percentage, an inline progress bar and a detail text. This -replaces the older `.. rubric:: Implementation status: ...` line. Use a -`raw:: html` block so the progress bar and the text sit on the same line: - -```rst -.. raw:: html - -
- Rollout status: - 🔄 - NN% -
- X/Y deliverables complete -
-``` - -- `X` = number of `✅ Available` cells in the table. -- `Y` = number of cells in the table excluding the leftmost stub column. -- `NN` = `floor(100 * X / Y)`, clamped to `[0, 100]`. Use the **same** - value in both the `impl-status-percent` span and the - `style="width:NN%"` of `impl-status-fill`. -- If `Y == 0`, render `NN = 0` (empty bar) and `0/0 deliverables complete`. -- Keep the wording **"Rollout status"** — not "Implementation status" - (the term "implementation" is reserved for actual code). -- Styling lives in `docs/_assets/custom.css` (`.impl-status-row`, - `.impl-status-bar`, `.impl-status-fill`). Do not inline additional - styles beyond the `width:NN%` on the fill div. -- The `Process Status` rubric above the pie row uses the - `:class: status-heading` option (see [C4.4](#c44-pie-chart-row-process-status) - above) so both headings have the same enlarged appearance. - ---- - -## C5. Procedure (shared steps) - -The per-PA cell criteria and path filters live in each PA file. The steps -below are the shared machinery used across all PAs. - -### Step 0 — Resolve pinned refs - -```python -import json, base64, subprocess, re - -def gh_raw(api_path, jq="."): - r = subprocess.run(["gh", "api", api_path, "--jq", jq], - capture_output=True, text=True) - assert r.returncode == 0, f"gh api failed: {r.stderr}" - return r.stdout.strip() - -def gh_json_file(api_path): - return json.loads(base64.b64decode(gh_raw(api_path, ".content")).decode()) - -known_good = gh_json_file( - "repos/eclipse-score/reference_integration/contents/known_good.json") - -def pinned_ref(module_key): - """`score_platform` lives in `tooling`; everything else in `target_sw`.""" - all_mods = {**known_good["modules"]["target_sw"], - **known_good["modules"]["tooling"]} - entry = all_mods.get(module_key) - return entry["hash"] if entry else "main" - -REFS = { - "score": pinned_ref("score_platform"), - "baselibs": pinned_ref("score_baselibs"), - "communication": pinned_ref("score_communication"), - "logging": pinned_ref("score_logging"), - "persistency": pinned_ref("score_persistency"), - "lifecycle": pinned_ref("score_lifecycle_health"), - "inc_time": "main", - "config_management": "main", - "inc_security_crypto": "main", -} -``` - -### Step 1 — Fetch repo trees - -```python -def get_tree(repo, ref): - out = subprocess.run( - ["gh", "api", f"repos/{repo}/git/trees/{ref}?recursive=1", - "--jq", ".tree[].path"], - capture_output=True, text=True) - paths = [p for p in out.stdout.strip().split("\n") if p] - assert paths, f"empty tree for {repo}@{ref}" - return paths -``` - -### Step 2 — Count directives - -```python -DIRECTIVE_TYPES = { - "feat_req": ("feat_req",), - "comp_req": ("comp_req", "aou_req"), - "feat_arc": ("feat", "feat_arc", "feat_arc_sta", "feat_arc_dyn"), - "comp_arc": ("comp", "comp_arc", "comp_arc_sta", "comp_arc_dyn", - "logic_arc_int", "logic_arc_int_op", - "real_arc_int", "real_arc_int_op"), - "dd": ("dd", "dd_sta", "dd_dyn"), -} - -def fetch_file(repo, path, ref): - r = subprocess.run( - ["gh", "api", f"repos/{repo}/contents/{path}?ref={ref}", "--jq", ".content"], - capture_output=True, text=True) - if r.returncode != 0 or not r.stdout.strip(): - return "" - return base64.b64decode(r.stdout.strip()).decode(errors="replace") - -def count_directives_with_status(content, allowed): - """Return (valid, total) for `.. ::` blocks where type ∈ allowed, - using the *indented* :status: field of each block. Document-level - :status: at column 0 is ignored.""" - pat = re.compile(r'^\.\.\s+(' + '|'.join(allowed) + r')::', re.MULTILINE) - valid = total = 0 - for m in pat.finditer(content): - tail = content[m.end():] - nxt = re.search(r'^\.\.\s+\w', tail, re.MULTILINE) - block = tail[:nxt.start()] if nxt else tail - st = re.search(r'^\s+:status:\s+(\w+)', block, re.MULTILINE) - total += 1 - if st and st.group(1) == 'valid': - valid += 1 - return valid, total - -def count_checklist_status(content): - """Status of the `.. document::` directive in a chklst_*.rst file. - The :status: is indented inside the directive body, not at column 0.""" - m = re.search(r'^\.\.\s+document::', content, re.MULTILINE) - if not m: - return 0, 0 - tail = content[m.end():] - nxt = re.search(r'^\.\.\s+\w', tail, re.MULTILINE) - block = tail[:nxt.start()] if nxt else tail - st = re.search(r'^\s+:status:\s+(\w+)', block, re.MULTILINE) - if not st: - return 0, 0 - return (1 if st.group(1) == 'valid' else 0), 1 - -def count_files(repo, paths, ref, path_filter, kind): - """kind ∈ {'feat_req','comp_req','feat_arc','comp_arc','dd','chklst'}.""" - matched = [p for p in paths if path_filter(p)] - tv = tt = 0 - for path in matched: - content = fetch_file(repo, path, ref) - if kind == 'chklst': - v, t = count_checklist_status(content) - else: - v, t = count_directives_with_status(content, DIRECTIVE_TYPES[kind]) - tv += v; tt += t - return tv, tt -``` - -### Step 3 — Render cells - -```python -def cell(v, t): - if t == 0: return "❌ Open" - if v == t: return f"✅ Available ({v}/{t})" - return f"🔄 {v*100//t}% ({v}/{t})" - -def comp_req_cell(contents, *, trlc=False): - cv = ct = av = at = 0 - for c in contents: - v, t = count_directives_with_status(c, ('comp_req',)); cv+=v; ct+=t - v, t = count_directives_with_status(c, ('aou_req',)); av+=v; at+=t - if ct == 0 and at == 0: return "❌ Open" - parts = [] - if ct or trlc: parts.append(f"{cv}/{ct} comp_req" + (" [TRLC]" if trlc else "")) - if at: parts.append(f"{av}/{at} AoU") - body = " + ".join(parts) - tot_v, tot_t = cv + av, ct + at - if tot_v == tot_t: return f"✅ Available ({body})" - return f"🔄 {tot_v*100//tot_t}% ({body})" -``` - -### Step 4 — Path filters - -The concrete per-module path filters live in each PA file (PA2/PA3/PA4). -The following cross-cutting rules apply to **all** of them: - -> **Component-level data may live in two repos at once.** Baselibs and -> Logging keep `comp_arc` directives both in `eclipse-score/score` -> (`modules//**`) **and** in their own repo (`docs//**`). -> Always query both filters and **sum** the `(valid, total)` tuples; never -> drop one source. The same is true for Persistency `kvs` (uses both -> `score/kvs/docs/` and the older `docs/persistency/kvs/`). -> Some/IP keeps `comp_req` partly in `docs/requirements/component/**` and -> partly in `docs/tc8_conformance/requirements.rst` — combine both. - -> **Lifecycle is the most complex module** — feature-level lives in -> `eclipse-score/score`, component-level (`docs/module/health_monitor/**`) in -> `eclipse-score/lifecycle`. Always query both and aggregate. - -> **Communication vs. Some/IP — never double-count.** Some/IP and -> Communication are **separate** modules even though Some/IP lives at -> `docs/features/communication/some_ip_gateway/**` inside the score repo. -> Whenever a path filter for Communication includes `'features/communication' -> in p` (or its `modules/` counterpart), it **MUST also exclude** -> `some_ip_gateway`: -> -> ```python -> def is_comm(p): -> return ('features/communication' in p -> and 'some_ip_gateway' not in p) -> ``` -> -> Some/IP gets its own filter that requires `some_ip_gateway` in the path -> plus its own repo `eclipse-score/inc_someip_gateway` for component-level -> data. The rule applies to **every** PA. - -### Step 5 — Sanity checks (run **before** writing the RST) - -#### 5a Structural — same modules, same columns - -```python -def parse_rst_structure(rst_path): - text = open(rst_path).read() - parts = re.split(r'Process Area (\d+) —', text)[1:] - out = {} - for i in range(0, len(parts) - 1, 2): - pa, body = f"PA{parts[i].strip()}", parts[i+1] - hdr = re.search(r'\* - \*\*Module\*\*(.*?)(?=\n \* -\s+\w)', body, re.DOTALL) - cols = [c.strip() for c in re.findall(r'\*\*([^*]+)\*\*', hdr.group(0) if hdr else "") if c.strip() != 'Module'] - mods = [m.strip() for m in re.findall(r'\n \* - ((?![\*\s])[\w][^\n]+)', body)] - out[pa] = {'modules': mods, 'columns': cols} - return out -``` - -Stop and investigate if: -- a module present before is missing now, or -- a column changed. - -#### 5b Plausibility — diff each cell - -| Old → New | Action | -|---|---| -| `✅` → `❌` or `🔄 NN%` → `❌` | 🛑 stop — almost certainly a filter bug | -| `✅` → `🔄` | ⚠️ investigate (regression) | -| `🔄 NN%` → `🔄 MM%`, MM 50 % | ⚠️ filter likely too strict | - -### Step 6 — Write the RST - -Update each PA's module table and the **Rollout status** `raw:: html` -block above it (see [C4.5](#c45-rollout-status-row)). Source links as in -[C4.2](#c42-source-links--mandatory). Pie-chart row and the `Process Status` -rubric stay unchanged unless the sphinx-needs tag changes. - -**Always update the data collection date** at the top of -`docs/s_core_v_1/roadmap/overall_status.rst` to the date the refresh was -performed (UTC, ISO format `YYYY-MM-DD`). The date lives in an -`important` admonition directly below the page title: - -```rst -Overall Status -============== - -.. important:: - - **Data collected on: YYYY-MM-DD** -``` - -If the admonition is missing, add it. Never leave a stale date — every -regeneration must bump it, even if no module values changed. - -### Step 7 — Adding a new module - -1. Append to [C1](#c1-scope--modules) module list and - [C2](#c2-repos-and-pinned-refs) repo table (with key + path filter). -2. Add a row to every PA table and the matching path filters in the PA files. -3. Re-run [Step 6](#step-6--write-the-rst). - ---- - -## C6. Progress graphics (per-PA SVG charts above each table) - -Above the module-tracker table of **PA2, PA3, PA4 and PA5** sits a `figure::` -that renders an inline SVG showing how the totals evolved across the four -most recent releases (`v0.5.0-beta → v0.6.0 → v0.7.0 → current main`). -Files live in `docs/_assets/`: - -| PA | File | Bars | -|---|---|---| -| PA2 | `pa2_impl_progress.svg` | Feature Req (`#1f77b4`), Component Req (`#ff7f0e`) | -| PA3 | `pa3_arch_progress.svg` | Feature Arch (`#1f77b4`), Component Arch (`#ff7f0e`) | -| PA4 | `pa4_impl_progress.svg` | Estimated LOC (`#1f77b4`) | -| PA5 | `pa5_verification_progress.svg`| 3 panels: Unit Tests, Integration Tests (Component `#ff7f0e` + Feature `#9467bd`), Coverage now (`#17becf`) | - -Each figure embeds in RST as - -```rst -.. figure:: /_assets/.svg - :alt: ... - :width: 720px - - -``` - -### C6.1 Release pinning - -Resolve the four release SHAs once via the GitHub tag refs (annotated tags -must be dereferenced): - -```python -def resolve_tag(repo, tag): - d = json.loads(gh_raw(f"repos/{repo}/git/refs/tags/{tag}")) - sha = d["object"]["sha"] - if d["object"]["type"] == "tag": - d2 = json.loads(gh_raw(f"repos/{repo}/git/tags/{sha}")) - sha = d2["object"]["sha"] - return sha -``` - -For each release tag of `eclipse-score/reference_integration`, fetch its -`known_good.json` and read the per-module hash. Schemas differ: - -- v0.5 / v0.6: `modules..{hash,version}` flat -- v0.7+: `modules.{target_sw,tooling}..hash` -- v0.7.0 itself only carries `version` for some entries → fall back to - `resolve_tag(, "v"+version)`. - -`now` is the per-module SHA from `known_good.json` on the **`main` branch of -`eclipse-score/reference_integration`** (not the working tree). Fetch it via -`gh api repos/eclipse-score/reference_integration/contents/known_good.json` — -this keeps the charts reproducible regardless of local uncommitted changes -or temporary ref bumps in the workspace. - -Module repos used for the charts: - -``` -score: eclipse-score/score (key: score_platform / "score") -baselibs: eclipse-score/baselibs (key: score_baselibs) -communication: eclipse-score/communication (key: score_communication) -logging: eclipse-score/logging (key: score_logging) -persistency: eclipse-score/persistency (key: score_persistency) -lifecycle: eclipse-score/lifecycle (key: score_lifecycle_health) -inc_time: eclipse-score/inc_time (only "now") -config_management: eclipse-score/config_management (only "now") -inc_security_crypto: eclipse-score/inc_security_crypto (only "now") -inc_someip_gateway: eclipse-score/inc_someip_gateway (only "now") -``` - -### C6.2 Metrics — what each chart sums - -All four charts sum across the **11 PA2 modules** (Baselibs, Communication, -Logging, Persistency, Time, Config Mgmt, Lifecycle, Security/Crypto, -Diagnostic Services, NM, Some/IP). Modules whose data isn't in a release -contribute 0. The Communication-vs-Some/IP separation rule of -[Step 4](#step-4--path-filters) applies to **every** chart metric. - -| Chart | Metric | Source | -|---|---|---| -| PA2 — Feature Req | sum of `count_directives_with_status(..., DIRECTIVE_TYPES["feat_req"])` totals (denominator) | per-module `path_filter` from PA2 | -| PA2 — Component Req | analogous, `comp_req` + `aou_req` | per-module `path_filter` | -| PA3 — Feature Arch | analogous, `DIRECTIVE_TYPES["feat_arc"]` | per-module under `architecture` | -| PA3 — Component Arch | analogous, `DIRECTIVE_TYPES["comp_arc"]` | per-module under `architecture` | -| PA4 — LOC | `sum(blob.size for path in tree if is_src(path)) / 30` (rounded) | each module's own repo at the release SHA | -| PA5 — Unit Tests (historical) | count of `TEST(`, `TEST_F(`, `TEST_P(`, `TYPED_TEST(`, `TYPED_TEST_P(` macros plus Rust `#[test]` and Python `^def test_` in files matching `is_test_path` | each module's own repo | -| PA5 — Comp. IT (historical) | same counters in files where path contains `integration` | each module's own repo | -| PA5 — Feat. IT (historical) | same counters in `feature_integration_tests/` and `platform_integration_tests/` | `eclipse-score/reference_integration` at the release tag | -| PA5 — Unit / Comp. IT / Feat. IT (**now** column) | **column sum** of the corresponding cells in the PA5 RST table (the `| N tests` line-block annotations) | parsed from `overall_status.rst` | -| PA5 — C0/C1 now | weighted mean of per-module C0 and C1 from the current PA5 RST table, weights = unit-test count per module | parsed from `overall_status.rst` | - -> **PA5 test counts: table is the source of truth for "now".** -> The four releases use **two different sources** for the test-count bars: -> - `v0.5.0-beta`, `v0.6.0`, `v0.7.0` → macro-based regex over module repo -> sources (Best-Effort, no curated table available for past tags). -> - `now` → **sum of the `| N tests` line-block annotations in the PA5 RST table** -> (`Unit Tests`, `Comp. Integration Tests`, `Feature Integration Tests` -> columns), because the curated table is what users see. -> -> The two methods diverge for several reasons that are NOT bugs: -> 1. Some/IP integration tests are named `stress_tests/` not `integration*`, -> so the historical regex misses them; the table includes them. -> 2. Feature-Integration counts in the table are **per module** (i.e. how -> many of the cross-module `reference_integration` tests exercise that -> module), not the total `feature_integration_tests/` tree size — so -> the table sum (≈7) is much smaller than the tree-walk total (≈59). -> 3. Some modules have CI test-run counts in the table that don't match -> `TEST(...)` macro counts (parameterized tests count as one macro but -> many runs). -> -> Practical rule: when updating the SVG, run both the C6 recipe **and** -> sum the `| N tests` line-block cells from the RST. Use the recipe values for the -> three release bars and the **table sum** for `now`. Note the divergence -> in the caption / commit message if it's >10 %. - -> **Charts count TOTAL, not valid-only.** -> The progress bars must use the **total** count of directives (denominator -> from [C3](#c3-counting-model)) — i.e. every `feat_req` / `comp_req` / -> `feat_arc` / `comp_arc` block irrespective of `:status:`. This is -> intentional and differs from the per-cell tracker logic in the tables, -> which renders `valid/total`. Rationale: the charts visualise *scope growth* -> across releases, not validation maturity. Drafts and invalids count. -> -> Practical consequence: use `count_directives_with_status(...)[1]` (returns total only), -> **never** the full return value of `count_directives_with_status(...)` for chart numbers. This is -> particularly important for Lifecycle, whose feature-level requirements -> were largely `:status: draft` or `:status: invalid` in v0.5/v0.6 — a -> valid-only counter would report 0 instead of ~92. - -LOC source-file filter (shared with the PA4 Code cell, see -[pa4-implementation.md](./pa4-implementation.md)): - -```python -SRC_EXT = (".cpp", ".cc", ".cxx", ".c", ".h", ".hpp", ".hh", ".rs", ".py") -def is_src(p): - pl = p.lower() - if not pl.endswith(SRC_EXT): return False - if pl.startswith("docs/") or "/docs/" in pl: return False - if pl.startswith("third_party/") or "/third_party/" in pl: return False - if pl.startswith("bazel-"): return False - return True - -def is_test_path(p): - pl = p.lower() - if any(pl.startswith(x) or "/"+x in "/"+pl - for x in ("docs/","third_party/","bazel-",".git/")): - return False - return any(t in pl for t in - ("_test.","/test/","/tests/","_tests.","gtest","unit_test","unittest")) -``` - -### C6.3 Generating / updating the SVGs - -The SVGs are hand-written (no toolchain). Workflow: - -1. Compute totals (one Python script per chart, using `gh api` with the - on-disk cache `/tmp/status_cache/`). Write `/tmp/release_totals.json`, - `/tmp/release_totals_pa3_pa4.json`, `/tmp/release_totals_pa5.json`. -2. Update the bar `y`/`height` values and the printed numbers inside the - existing SVG. The chart frames stay fixed; only the bars and labels - change. -3. Bar heights use linear scale anchored at the panel's plot area. For PA2 - `viewBox="0 0 720 320"` with plot area `x=70..690, y=50..260` (height - 210 px), max value 400 → `y = 260 − value · 0.525`, - `height = 260 − y`. PA3 uses max 240 (`× 0.875`), PA4 uses max 900 000 - (`× 0.0002333`), PA5 panels: Unit `× 0.021`, Integration `× 2.1`, - Coverage `× 2.1`. - -When a metric goes out of the chart's current range, raise the y-axis max -and rescale **all four bars** of that panel; do not crop. - -### C6.4 Caption discipline - -Caption template per chart: - -> ` across the 11 PA2 modules per release -> (v0.5.0-beta → v0.6.0 → v0.7.0 → current main).` - -Always write "across the 11 PA2 modules" (not "across all modules") — the -charts intentionally exclude orchestrator, baselibs_rust, score_platform, -docs_as_code, kyron and other repos that don't appear in the PA tables. - ---- - -## C7. Limitations - -- Test coverage of requirements (link analysis) is not detected — needs - `needs.json`. -- Per-module CI workflows are zero-tolerance; "passing on `main` ⇒ 0 findings" - is the only signal used for static / dynamic analysis. -- Central CodeQL finding counts require the GitHub Security tab. -- Feature-Integration-Test heuristic is path-based and weak — confirm - manually. -- TRLC content is not parsed; cells reference the `.trlc` file via link only. -- PA4 LOC bars are an estimate (`tree blob bytes ÷ 30`) since `gh api` - exposes blob sizes but not line counts; expect ±10 % vs `cloc`. -- PA5 historical coverage is not available — only the current snapshot. -- PA5 test-count bars use **two sources**: the three release bars come - from a TEST-macro regex over module repos (Best-Effort), the `now` bar - is the **column sum of the RST table cells**. Expect divergences of - 10–20 % between the methods (parameterized tests, naming conventions - like Some/IP `stress_tests/`, per-module cross-feature attribution). - Lifecycle has only C0; modules without coverage in CI (Time, Config Mgmt, - Security/Crypto, Some/IP, NM, Diagnostic Services) are excluded from the - weighted mean. diff --git a/.github/skills/overall-status/references/pa1-change-management.md b/.github/skills/overall-status/references/pa1-change-management.md deleted file mode 100644 index 08c4c18b0d3..00000000000 --- a/.github/skills/overall-status/references/pa1-change-management.md +++ /dev/null @@ -1,202 +0,0 @@ -# Process Area 1 — Change Management - -| Property | Value | -|---|---| -| sphinx-needs tag | `change_management` | -| Cross-reference label | `overall_status_pa1` | -| Columns | CR approved | -| Progress figure | _none_ (PA1 is issue-based, not file-based) | - -PA1 "CR approved" tracks **Feature Request** issues in `eclipse-score/score` -(not RST directives). There are therefore **no path filters** for this PA — -the data comes from the GitHub issues API and the org-level Project V2 board. - -For shared conventions (cell layout, source links, rollout-status row, pie -chart row), see [common.md](./common.md#c4-rst-formatting-rules). - ---- - -## PA1-only modules: Diagnostic Services and NM - -Both modules have a row in **every** PA table for layout consistency, but only -the **PA1 column carries real data**: they are tracked via `feature_request` -issues in `eclipse-score/score` (see the keyword map below). They have **no own -repository** and **no `known_good.json` key** yet, so -[common.md C2](./common.md#c2-repos-and-pinned-refs) and the per-PA path-filter -tables have no rows for them and their PA2–PA5 cells render as `❌ Open` (zero -directives, zero files). They still contribute `0` to the per-PA progress charts -(see [common.md C6.2](./common.md#c62-metrics--what-each-chart-sums)) and are -excluded from the coverage weighted mean (see -[common.md C7](./common.md#c7-limitations)). - ---- - -## Status criteria - -| Deliverable | `✅ Available` | `🔄 …` | `❌ Open` | -|---|---|---|---| -| **PA1** CR approved | At least one matching `feature_request` issue **scoped to milestone v0.5 or v1.0** has Status `Accepted` (or `Done`) in Project V2 #4 "Feature Requests / Modification" (see below); cell lists every matching FR with its individual project status and milestone tag | At least one in-scope FR in `In Progress`/`In Review`/`Ready for Review`/`Changes Requested`/`Draft`/`POC Needed` and none Accepted | No matching FR in scope, or all matching FRs `Rejected` | - ---- - -## Feature Request issue lookup - -PA1 "CR approved" tracks **Feature Request** issues in `eclipse-score/score`. -The label name is **`feature_request`** (lowercase, with underscore). Use -`state=all` (some FRs are still open) and combine the topical -`ft:` label with a title-keyword pass; **always union both result -sets** (deduplicated by issue number) so that older FRs which pre-date the -`ft:*` label scheme are still attributed to a module — see the attribution -note below. - -**Milestone scope.** Only Feature Requests targeted at the **v0.5** or -**v1.0** release milestones are counted. The GitHub milestone titles that -currently qualify are: - -- `SCORE v0.5 Feature Complete` -- `S-CORE v0.5 Certifiable` -- `v1.0` - -The match is performed by substring on the milestone title with whitespace -stripped (`"0.5" in title` or `"1.0" in title`, case-insensitive). FRs with -no milestone, or with any other milestone (`v0.6`…`v0.10`), are excluded -from PA1 — even if they carry a matching `ft:*` label. Each rendered FR is -tagged with its short milestone in square brackets (e.g. `[v1.0]`, -`[v0.5 Certifiable]`). - -The issues fetch must therefore include the milestone field in the jq -projection. - -For each issue, fetch its **`Status`** field from the org-level project -**"Feature Requests / Modification"** (Project V2, id -`PVT_kwDOCy9hX84Auo7w`, number `#4`). The PA1 cell renders **one entry per -Feature Request**, each annotated with its individual project status — not a -single aggregate "Available". The cell headline is the **best** status -across all FRs for that module (so a module with at least one Accepted FR -still shows ✅ in summaries). - -```python -# 1. List feature requests via the issue label (incl. milestone). -# `--paginate` must be a separate CLI flag — embedding it in the URL -# string sends it as a query parameter and silently truncates results -# at 100 issues. -def fetch_frs(): - out = subprocess.run( - ["gh", "api", "--paginate", - "repos/eclipse-score/score/issues?state=all" - "&labels=feature_request&per_page=100", - "--jq", - '.[] | [(.number|tostring), .title,' - ' ((.labels // []) | map(.name) | join(",")),' - ' ((.milestone.title // ""))] | @tsv'], - capture_output=True, text=True, timeout=120) - assert out.returncode == 0, f"gh api failed: {out.stderr}" - return [tuple(line.split("\t")) for line in out.stdout.splitlines() if line] - -def in_scope(milestone: str) -> bool: - s = milestone.lower().replace(" ", "") - return ("0.5" in s) or ("1.0" in s) - -# 2. Pull Status per issue from Project V2 #4 -PROJECT_FR_ID = "PVT_kwDOCy9hX84Auo7w" -def fetch_fr_project_status() -> dict[str, str]: - q = ('query($endCursor:String){node(id:"' + PROJECT_FR_ID + '"){' - '... on ProjectV2{items(first:100, after:$endCursor){' - 'pageInfo{hasNextPage endCursor} ' - 'nodes{content{... on Issue{number repository{nameWithOwner}}} ' - 'fieldValues(first:20){nodes{... on ProjectV2ItemFieldSingleSelectValue' - '{name field{... on ProjectV2SingleSelectField{name}}}}}}}}}}') - out = subprocess.run( - ["gh","api","graphql","--paginate","-f", "query="+q, - "--jq", - '.data.node.items.nodes[] | ' - 'select(.content.repository.nameWithOwner=="eclipse-score/score") | ' - '[(.content.number|tostring), ' - '((.fieldValues.nodes[]|select(.field.name=="Status")|.name) // "—")] | @tsv'], - capture_output=True, text=True, timeout=120) - return dict(line.split("\t",1) for line in out.stdout.splitlines() if "\t" in line) -``` - -Status-field options (from project schema) and the recommended emoji / -ranking the cell uses to pick the headline: - -| Project Status | Emoji | Rank | -|---------------------|:-----:|:----:| -| `Accepted` / `Done` | ✅ | 0 | -| `In Progress` | 🔄 | 1 | -| `In Review` | 🔄 | 1 | -| `Ready for Review` | 🔄 | 1 | -| `Changes Requested` | 🔄 | 1 | -| `Draft` | 📝 | 2 | -| `POC Needed` | 🧪 | 3 | -| `Rejected` | ❌ | 4 | -| _not in project_ | ❔ | 5 | - -Cell layout (RST): - -```rst - - ✅ Accepted - - | `#914 `__ — ✅ Accepted [v1.0] — Feature Request for SOME/IP Gateway - | `#549 `__ — ✅ Accepted [v0.5 Certifiable] — Feature request: common libraries for IPC and Logging -``` - -Each FR line is `\`#NNN \`__ — [] — `. -The issue title is taken verbatim from the GitHub `.title` field (already -fetched by `fetch_frs()`). - -Module attribution mapping. **Always** combine the label-based hits and -the title-keyword hits (deduplicated by issue number) — do **not** treat -the keyword set as a fallback that only fires when the `ft:*` query is -empty. Older feature requests pre-date the `ft:*` label scheme and only -match by title keyword (e.g. `#69 "Feature Request for IPC"` for -Communication carries `feature_request` + `community:architecture` + -`planned-for:0.5` but no `ft:communication`); skipping the keyword pass -when `ft:*` already produced hits causes such issues to silently disappear -from PA1. - -```python -FT_LABEL = { - "Baselibs": "ft:baselibs", - "Communication": "ft:communication", - "Logging": "ft:logging", - "Persistency": "ft:persistency", - "Config Mgmt": "ft:config_management", - "Lifecycle": "ft:health&lifecycle", - "Security/Crypto": "ft:security&crypto", -} -KW_FALLBACK = { - "Baselibs": ["baselib", "common librar", "abi compatible", "json parser"], - "Communication": ["ipc", "streaming", "record and replay"], - "Logging": ["logging"], - "Persistency": ["persistency", " kvs"], - # Leading space is intentional: avoids matching "runtime", "realtime", - # "datetime" etc. Do NOT "fix" by stripping it. - "Time": [" time"], - "Some/IP": ["some/ip", "someip", "some_ip"], - "Diagnostic Services": ["diagnos"], - "NM": ["network management"], -} -``` - -Render up to ~6 hits per cell. If a module has zero matches, render -`❌ Open`. The older label `contribution request` exists too but tracks -formal contribution intent, not feature scope — **do not** use it for PA1. - -> **Manual overrides — apply *after* the automated label∪keyword union -> has produced its hit set:** -> -> - **`#549` "common libraries for IPC and Logging"** is rendered **only -> under Baselibs**, even though its title contains both "IPC" and -> "Logging" (which would otherwise match Communication and Logging). -> Drop `#549` from the Communication and Logging cells. -> - **`#757` "Feature request for qualified json-parser"** belongs to -> **Baselibs** (label `ft:baselibs`). It has **no GitHub milestone**, -> so the standard milestone filter (`"0.5"|"1.0" in title`) excludes -> it; force-include it for Baselibs and render it without the `[…]` -> milestone bracket. -> - **Communication scope is local IPC only.** Drop `#914` (SOME/IP -> Gateway → Some/IP module) and `#917` (ABI compatible datatypes → -> Baselibs) from the Communication cell, even though their title -> keywords (`some/ip`, `abi compatible`) or labels could attribute -> them. Communication renders only `#69 — Feature Request for IPC`. diff --git a/.github/skills/overall-status/references/pa2-requirements.md b/.github/skills/overall-status/references/pa2-requirements.md deleted file mode 100644 index 52e9736becf..00000000000 --- a/.github/skills/overall-status/references/pa2-requirements.md +++ /dev/null @@ -1,76 +0,0 @@ -# Process Area 2 — Requirements Engineering - -| Property | Value | -|---|---| -| sphinx-needs tag | `requirements_engineering` | -| Cross-reference label | `overall_status_pa2` | -| Columns | Feature Req · Component Req · Req. Inspection | -| Progress figure | `pa2_impl_progress.svg` (`720px`) | - -This PA counts sphinx-needs directive blocks per -[common.md C3](./common.md#c3-counting-model). For shared conventions (cell -layout, source links, rollout-status row, pie chart row, progress figure -embedding) see [common.md C4](./common.md#c4-rst-formatting-rules). - ---- - -## Status criteria - -| Deliverable | `✅ Available` | `🔄 …` | `❌ Open` | -|---|---|---|---| -| **Feature Req** | `valid = total` per [C3](./common.md#c3-counting-model) | files exist, not all valid | no `feat_req` directives in `docs/features//**` | -| **Component Req** | `valid = total` per [C3.2](./common.md#c32-component-requirements-split-rendering) | mixed | no `comp_req`/`aou_req` directives, and no TRLC stand-in | -| **Req. Inspection** | every `chklst_req_inspection.rst` has `:status: valid` | mixed | no checklists | - ---- - -## Directive types & counting - -| Column | `count_files` kind | Directive types | -|---|---|---| -| Feature Req | `feat_req` | `feat_req` | -| Component Req | `comp_req` | `comp_req`, `aou_req` (rendered split via `comp_req_cell`, see [C3.2](./common.md#c32-component-requirements-split-rendering)) | -| Req. Inspection | `chklst` | document `:status:` of each `chklst_req_inspection.rst` (see [C3.3](./common.md#c33-inspections)) | - -- AoUs (`aou_req`) count for **Component** Req only, never for Feature Req. -- **Communication** keeps real component requirements in - `score/mw/com/requirements/component_requirements/component_requirements_ipc.trlc` - (`.trlc`, not parsed) — render the Component Req cell as - `0/0 comp_req [TRLC]` plus a link to the `.trlc` file (see - [C4.2](./common.md#c42-source-links--mandatory)). -- **Per-link status markers (Req. Inspection):** prefix every - `chklst_req_inspection.rst` link with ✅/🔄/❌ by its document `:status:` - (count of ✅ must equal the `valid` numerator) — see - [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). - ---- - -## Path filters - -Cross-cutting rules (two-repo aggregation, Communication-vs-Some/IP -separation, Lifecycle complexity) are in -[common.md Step 4](./common.md#step-4--path-filters). The per-module filters -for the **Feature Req** and **Component Req** columns: - -| Module | Deliverable | Repo | Filter (`lambda p: ...`) | -|---|---|---|---| -| Baselibs | Feat. Req | score | `'features/baselibs' in p and 'requirements' in p and p.endswith('.rst') and 'chklst' not in p` | -| Baselibs | Comp. Req | score | `'modules/baselibs' in p and 'requirements' in p and p.endswith('.rst') and 'chklst' not in p` | -| Baselibs | Req. Inspection | score | `'baselibs' in p and 'chklst_req_inspection' in p` | -| Communication | Feat. Req | score | `'features/communication' in p and 'requirements' in p and 'some_ip_gateway' not in p and …` | -| Communication | Comp. Req | score | `'modules/communication' in p and 'requirements' in p and 'some_ip_gateway' not in p and …` | -| Logging | Feat. Req | score | `('features/logging' in p or 'features/analysis-infra/logging' in p) and 'requirements' in p and …` | -| Logging | Comp. Req | score | `'modules/logging' in p and 'requirements' in p and …` | -| Persistency | Feat. Req | score | `'features/persistency' in p and 'requirements' in p and …` | -| Persistency | Comp. Req | persistency | `'kvs' in p and 'requirements' in p and …` | -| Lifecycle | Feat. Req | score | `'features/lifecycle' in p and 'requirements' in p and …` *(must walk subfolders)* | -| Lifecycle | Comp. Req | lifecycle | `'module' in p and 'requirements' in p and …` | -| Time / Config Mgmt / Sec.Crypto | Feat. Req | score | `'features/' in p and 'requirements' in p and …` | - -> Standard `path_filter` tail for directive counting: -> `… and p.endswith('.rst') and 'chklst' not in p`. Inspection filters use -> `'chklst_req_inspection' in p` instead. - -> **Some/IP** keeps `comp_req` partly in `docs/requirements/component/**` -> and partly in `docs/tc8_conformance/requirements.rst` (own repo -> `eclipse-score/inc_someip_gateway`) — combine both. diff --git a/.github/skills/overall-status/references/pa3-architecture.md b/.github/skills/overall-status/references/pa3-architecture.md deleted file mode 100644 index 483b8718230..00000000000 --- a/.github/skills/overall-status/references/pa3-architecture.md +++ /dev/null @@ -1,76 +0,0 @@ -# Process Area 3 — Architecture Design - -| Property | Value | -|---|---| -| sphinx-needs tag | `architecture_design` | -| Cross-reference label | `overall_status_pa3` | -| Columns | Feature Arch · Component Arch · Arch. Inspection | -| Progress figure | `pa3_arch_progress.svg` (`720px`) | - -This PA counts sphinx-needs directive blocks per -[common.md C3](./common.md#c3-counting-model). For shared conventions (cell -layout, source links, rollout-status row, pie chart row, progress figure -embedding) see [common.md C4](./common.md#c4-rst-formatting-rules). - ---- - -## Status criteria - -| Deliverable | `✅ Available` | `🔄 …` | `❌ Open` | -|---|---|---|---| -| **Feature Arch** | `valid = total` per [C3](./common.md#c3-counting-model) | mixed | no matching directives | -| **Component Arch** | `valid = total` per [C3](./common.md#c3-counting-model) | mixed | no matching directives | -| **Arch. Inspection** | every `chklst_arc_inspection.rst` valid | mixed | no checklists | - ---- - -## Directive types & counting - -| Column | `count_files` kind | Directive types | -|---|---|---| -| Feature Arch | `feat_arc` | `feat`, `feat_arc`, `feat_arc_sta`, `feat_arc_dyn` | -| Component Arch | `comp_arc` | `comp`, `comp_arc`, `comp_arc_sta`, `comp_arc_dyn`, `logic_arc_int`, `logic_arc_int_op`, `real_arc_int`, `real_arc_int_op` | -| Arch. Inspection | `chklst` | document `:status:` of each `chklst_arc_inspection.rst` (see [C3.3](./common.md#c33-inspections)) | - -Never counted as Arch directives: `stkh_req`, `tool_req`, `document`, -`needtable`, `needpie`, `needextend`, `figure`, `uml`, `note`, `attention`, -`toctree`, `grid`. - -- **Per-link status markers (Arch. Inspection):** prefix every - `chklst_arc_inspection.rst` link with ✅/🔄/❌ by its document `:status:` - (count of ✅ must equal the `valid` numerator) — see - [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). - ---- - -## Path filters - -Cross-cutting rules (two-repo aggregation, Communication-vs-Some/IP -separation, Lifecycle complexity) are in -[common.md Step 4](./common.md#step-4--path-filters). The per-module filters -for the **Feature Arch** and **Component Arch** columns: - -| Module | Deliverable | Repo | Filter (`lambda p: ...`) | -|---|---|---|---| -| Baselibs | Feat. Arch | score | `'features/baselibs' in p and 'architecture' in p and p.endswith('.rst') and 'chklst' not in p` | -| Baselibs | Comp. Arch | score | `'modules/baselibs' in p and 'architecture' in p and p.endswith('.rst') and 'chklst' not in p` | -| Baselibs | Arch. Inspection | score | `'baselibs' in p and 'chklst_arc_inspection' in p` | -| Communication | Feat. Arch | score | `'features/communication' in p and 'architecture' in p and 'some_ip_gateway' not in p and …` | -| Communication | Comp. Arch | score | `'modules/communication' in p and 'architecture' in p and 'some_ip_gateway' not in p and …` | -| Logging | Feat. Arch | score | `('features/logging' in p or 'features/analysis-infra/logging' in p) and 'architecture' in p and …` | -| Logging | Comp. Arch | score | `'modules/logging' in p and 'architecture' in p and …` | -| Persistency | Feat. Arch | score | `'features/persistency' in p and 'architecture' in p and …` | -| Persistency | Comp. Arch | persistency | `'kvs' in p and 'architecture' in p and …` | -| Lifecycle | Feat. Arch | score | `'features/lifecycle' in p and 'architecture' in p and …` *(must walk subfolders)* | -| Lifecycle | Comp. Arch | lifecycle | `'module' in p and 'architecture' in p and …` | -| Time / Config Mgmt / Sec.Crypto | Feat. Arch | score | `'features/' in p and 'architecture' in p and …` | - -> Standard `path_filter` tail for directive counting: -> `… and p.endswith('.rst') and 'chklst' not in p`. Inspection filters use -> `'chklst_arc_inspection' in p` instead. - -> **Component-level architecture may live in two repos at once.** Baselibs and -> Logging keep `comp_arc` directives both in `eclipse-score/score` -> (`modules//**`) **and** in their own repo (`docs//**`) — query -> both filters and **sum** the `(valid, total)` tuples. The same is true for -> Persistency `kvs`. diff --git a/.github/skills/overall-status/references/pa4-implementation.md b/.github/skills/overall-status/references/pa4-implementation.md deleted file mode 100644 index 87a2e44b911..00000000000 --- a/.github/skills/overall-status/references/pa4-implementation.md +++ /dev/null @@ -1,85 +0,0 @@ -# Process Area 4 — Implementation - -| Property | Value | -|---|---| -| sphinx-needs tag | `implementation` | -| Cross-reference label | `overall_status_pa4` | -| Columns | SW Dev Plan · Code · Detailed Design · Impl. Inspection | -| Progress figure | `pa4_impl_progress.svg` (`720px`) | - -This PA mixes a project-wide file check (SW Dev Plan), a byte-based LOC -estimate (Code), directive counting (Detailed Design) and checklist status -(Impl. Inspection). For shared conventions see -[common.md C4](./common.md#c4-rst-formatting-rules). - ---- - -## Status criteria - -| Deliverable | `✅ Available` | `🔄 …` | `❌ Open` | -|---|---|---|---| -| **SW Dev Plan** | `eclipse-score/score` has `docs/platform_management_plan/software_development.rst` (project-wide; same status in every row) | — | file absent | -| **Code** | source files exist outside `docs/` | — | none found | -| **Detailed Design** | `valid = total` per [C3](./common.md#c3-counting-model) over `dd*` directives | mixed | none | -| **Impl. Inspection** | every `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` valid | mixed | no checklists | - ---- - -## Directive types & counting - -| Column | `count_files` kind | Directive types / method | -|---|---|---| -| SW Dev Plan | — | presence check of `docs/platform_management_plan/software_development.rst` in `eclipse-score/score`; project-wide → identical status in every row | -| Code | — | LOC estimate (see below) | -| Detailed Design | `dd` | `dd`, `dd_sta`, `dd_dyn` | -| Impl. Inspection | `chklst` | document `:status:` of each `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` (see [C3.3](./common.md#c33-inspections)) | - -- **Per-link status markers (Impl. Inspection):** prefix every - `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` link with - ✅/🔄/❌ by its document `:status:` (count of ✅ must equal the `valid` - numerator) — see - [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). - -### Lines of Code (Code column) - -LOC counts every line in source files (`.cpp .h .c .rs .py`) outside `docs/`, -`third_party/`, and `bazel-*/`, then rounds to the nearest 100. - -> **Method.** The per-cell tracker uses the **same byte-÷-30 approximation** -> as the SVG charts (`sum(blob.size for path in tree if is_src(path)) / 30`, -> see [common.md C6.2](./common.md#c62-metrics--what-each-chart-sums)). The -> `is_src` filter in C6.2 is authoritative for what counts as a source file -> (extensions and the `docs/`, `third_party/`, `bazel-*/` exclusions). Expect -> ±10 % vs. `cloc` (see [common.md C7](./common.md#c7-limitations)). - -```rst - - ✅ Available (~12,500 LOC) ` >`__ -``` - -The link label MUST be the bare repository name (e.g. `baselibs`, -`communication`, `inc_time`), not the literal word `repo`. The **Code cell** -links the **repository root** (see -[common.md C4.2](./common.md#c42-source-links--mandatory)). - ---- - -## Path filters - -Cross-cutting rules are in -[common.md Step 4](./common.md#step-4--path-filters). The per-module filters -for the **Detailed Design** column (`Code` uses the repo root + `is_src`; SW -Dev Plan is a single project-wide file): - -| Module | Deliverable | Repo | Filter (`lambda p: ...`) | -|---|---|---|---| -| Baselibs | Detailed Design | score | `'modules/baselibs' in p and 'detailed_design' in p and p.endswith('.rst') and 'chklst' not in p` | -| Baselibs | Impl. Inspection | score | `'baselibs' in p and ('chklst_impl_inspection' in p or 'chklst_dd_inspection' in p)` | -| Communication | Detailed Design | score | `'modules/communication' in p and 'detailed_design' in p and 'some_ip_gateway' not in p and …` | -| Logging | Detailed Design | score / logging | `'modules/logging' in p and 'detailed_design' in p and …` (query both repos, sum) | -| Persistency | Detailed Design | persistency | `'kvs' in p and 'detailed_design' in p and …` | -| Lifecycle | Detailed Design | lifecycle | `'module' in p and 'detailed_design' in p and …` | -| Time / Config Mgmt / Sec.Crypto | Detailed Design | score | `'features/' in p and 'detailed_design' in p and …` | - -> Standard `path_filter` tail for directive counting: -> `… and p.endswith('.rst') and 'chklst' not in p`. Inspection filters match -> `'chklst_impl_inspection' in p or 'chklst_dd_inspection' in p`. diff --git a/.github/skills/overall-status/references/pa5-verification.md b/.github/skills/overall-status/references/pa5-verification.md deleted file mode 100644 index de8183ca0bf..00000000000 --- a/.github/skills/overall-status/references/pa5-verification.md +++ /dev/null @@ -1,217 +0,0 @@ -# Process Area 5 — Verification - -| Property | Value | -|---|---| -| sphinx-needs tag | `verification` | -| Cross-reference label | `overall_status_pa5` | -| Columns | Unit Tests · C0/C1 Cov · Comp. IT · Feat. IT · Static · Dynamic · Module Ver. Rpt | -| Progress figure | `pa5_verification_progress.svg` (`1080px` — 1.5× standard width) | - -This PA combines test discovery, CI coverage data, static/dynamic analysis CI -status and the module verification report. For shared conventions see -[common.md C4](./common.md#c4-rst-formatting-rules). - ---- - -## Status criteria - -| Deliverable | `✅ Available` | `🔄 …` | `❌ Open` | -|---|---|---|---| -| **Unit Tests** | repo has `_test.cpp` / `_test.py` / `tests/` | — | none | -| **C0/C1 Coverage** | C0 = C1 = 100 % | data exists (any %) | not in `reference_integration` CI | -| **Comp. Integration Tests** | tests in module's own repo | — | none | -| **Static Analysis** | zero-tolerance per-module CI workflow passes on `main` (clang-tidy / Clippy) | tools configured but no CI enforcement | no static-analysis config | -| **Dynamic Analysis** | zero-tolerance sanitizer CI passes on `main` | — | no sanitizer CI | -| **Module Ver. Report** | `verification/module_verification_report.rst` `:status: valid` and contains data | `:status: draft` | absent or template only | -| **Platform Ver. Report** | _no column_ — the platform verification report exists **once** for the entire platform; do not render it as a per-module column. Add it as a **bold one-liner immediately after the PA5 table** (see [Platform Verification Report](#platform-verification-report)). | | | - -- **Per-link status marker (Module Ver. Report):** prefix the - `module_verification_report.rst` link with ✅/🔄/❌ by its document - `:status:` — see - [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). - -> **Static / Dynamic Analysis cells render the status only, no source-code -> link.** The PA5 link discipline of -> [common.md C4.2](./common.md#c42-source-links--mandatory) does not apply to -> these two columns: there is no canonical per-module artefact to point at (CI -> workflows live in the org-wide `.github` repo, not per module). - ---- - -## Test-count rendering - -For the **Unit Tests**, **Comp. IT** and **Feat. IT** columns, the test count -goes on its **own line-block line** below the status — never on the same line -as `✅ Available` (see -[common.md C4.1](./common.md#c41-cell-layout)). Use `plur()` for correct -singular/plural (`1 test` vs `N tests`). - ---- - -## Test-counting pitfalls (read before touching Unit / Comp. IT numbers) - -Test discovery is the **most error-prone** part of PA5. Verified failure -modes (each has produced a wrong number in the past — Logging was `340` -unit / `❌` comp when the truth is `650` / `8`): - -1. **Count all components of a module, not just one subtree.** Two-component - modules keep tests in several roots — e.g. Logging has **both** - `score/datarouter/**` (~324 cases) **and** `score/mw/log/**` (~326). - Missing one silently halves the count. Always walk the *whole* repo tree. -2. **Rust inline unit tests live in `src/`, not in `tests/`.** Counting only - files under a `test/`-style path (the old `is_test_path`) **misses every - `#[cfg(test)] mod tests { #[test] … }`** in `src/*.rs`. Lifecycle has - **235** such inline tests, all in `src/`. Count `#[test]` / - `#[tokio::test]` in **all** `.rs` files (outside `docs/`, `third_party/`, - `bazel-*`). -3. **Unit vs. Component/Integration is per-repo convention, not one rule.** - There is no single reliable heuristic; classify with the module's own - convention: - - | Module | Component/Integration tests live in | Count | - |---|---|---| - | Logging | `score/test/component/**` (Bazel `tags=["integration"]`, ITF `py_*_itf_test`) | 8 | - | Persistency | `tests/test_cases/tests/test_cit_*.py` (**CIT** = Component Integration Test) | 44 | - | Baselibs | `score/os/utils/test/mqueueintegration_test.cpp` | 13 | - | Communication | `score/mw/com/test/**/integration_test/*.py` | 63 | - | Time | `score/**/tests/integration_tests/**` | 4 | - | Security/Crypto | `tests/integration_tests/integration_test.py` | 11 | - | Some/IP | `tests/integration_test/**` + `quality/integration_testing/**` | 21 | - - A **Rust `tests/` directory is a *crate integration* test**, but a - C++ component's `tests/` subfolder (e.g. `futurecpp/tests/`) is that - component's **unit** tests — do **not** blanket-classify `tests/` as - integration. -4. **Two different "test count" metrics exist — do not mix them.** - - *Test-case declarations* — count of `TEST*(` / `#[test]` / `def test_` - macros (Logging 650, Baselibs ~5.7k). - - *Executed test cases* — the same expanded over `TYPED_TEST` types and - parametrised instances (Baselibs `25833`). Bazel CI reports *test - **targets*** (`Executed N tests` ≈ 297), a **third** number. - - The current table predominantly uses the **executed-case** metric. When a - single cell is corrected, match the metric already used in that column; - do **not** silently switch the whole column to a different metric. - -> **When in doubt, verify a suspicious cell manually** against the repo at -> the pinned ref (fetch the test files, count) before overwriting — a -> `✅ Available` test cell dropping to `❌ Open` is almost always a discovery -> bug, not a real regression (see the plausibility gate in -> [common.md Step 5b](./common.md#5b-plausibility--diff-each-cell)). - ---- - -## Coverage CI keys - -Coverage data is read from the latest successful run of workflow id -`234977097` (`Code Quality & Documentation`), job `test_and_docs`, in -`eclipse-score/reference_integration`. - -| Tracker module | CPP key | Rust key | -|---|---|---| -| Baselibs | `score_baselibs_cpp` | `score_baselibs_rust_rust` | -| Communication | `score_communication_cpp` | — | -| Logging | `score_logging_cpp` | `score_logging_rust` | -| Persistency | `score_persistency_cpp` | `score_persistency_rust` | -| Lifecycle | `score_lifecycle_health_cpp` | `score_lifecycle_health_rust` | -| Time / Config Mgmt / Security/Crypto | not in CI | — | - -```bash -RUN_ID=$(gh api "repos/eclipse-score/reference_integration/actions/workflows/234977097/runs?per_page=10" \ - --jq '[.workflow_runs[] | select(.conclusion=="success")][0].id') -JOB_ID=$(gh api "repos/eclipse-score/reference_integration/actions/runs/$RUN_ID/jobs" \ - --jq '.jobs[] | select(.name=="test_and_docs") | .id') -gh api "repos/eclipse-score/reference_integration/actions/jobs/$JOB_ID/logs" \ - | grep -A50 "COVERAGE ANALYSIS SUMMARY" -``` - -The log emits a single Python-dict dump after the -`=== QR: COVERAGE ANALYSIS SUMMARY ===` banner, e.g. - -```text -{'score_baselibs_cpp': {'branches': '60.3%', 'exit_code': 0, 'functions': '85.4%', 'lines': '92.3%'}, - 'score_logging_rust': {'branches': 'NA', 'exit_code': 0, 'functions': '99.5%', 'lines': '74.4%'}, - ...} -``` - -Parse it with this regex (works for both cpp and rust keys; either field may be `'NA'`): - -```python -COV_RE = re.compile( - r"'(score_[a-z_]+)':\s*\{[^}]*'branches':\s*'([^']*)'" - r"[^}]*'functions':\s*'([^']*)'" - r"[^}]*'lines':\s*'([^']*)'") -``` - -C0 = line coverage, C1 = branch coverage. Rust coverage reports **line only**. -Modules not yet integrated into the `reference_integration` CI render `❌ Open` -(currently: Time, Config Mgmt, Security/Crypto, Some/IP — update list each -regen). - ---- - -## Static / dynamic analysis CI table - -> **Reader notes (rendered in the RST as `.. note::` blocks placed -> immediately after the PA5 `Rollout status` row and before -> the PA5 list-table — keep them in sync when regenerating):** -> -> 1. **C0/C1 Coverage source.** Coverage data comes from the -> `reference_integration` CI (*Code Quality & Documentation* workflow, -> `bazel coverage --config=ferrocene-coverage`). C0 = line coverage, -> C1 = branch coverage. Rust coverage reports **line only**. Modules -> not yet integrated into the `reference_integration` CI render -> `❌ Open` (currently: Time, Config Mgmt, Security/Crypto, Some/IP — -> update list each regen). -> 2. **Static / Dynamic semantics.** Static = per-module clang-tidy -> (C++) / Clippy (Rust) workflows; Dynamic = sanitizer workflows -> (`--config=asan_ubsan_lsan`, `--config=tsan`). All listed workflows -> are **zero-tolerance** → a passing `main` ⇒ `✅ 0 findings`. -> Central CodeQL runs in -> `reference_integration/.github/workflows/codeql-multiple-repo-scan.yml` -> (finding counts require the GitHub Security tab). - -| Module | Static | Dynamic | -|---|---|---| -| Baselibs | ✅ `lint.yml` (clang-tidy) | ✅ `sanitizers_linux.yml` (ASan/UBSan/LSan) | -| Communication | 🔄 Configured (no CI) | ✅ ASan/UBSan/LSan + TSan | -| Logging | ❌ | ❌ | -| Persistency | ✅ `clippy.yml` | ❌ | -| Time | ❌ | ❌ | -| Config Mgmt | ✅ `static-analysis.yml` (clang-tidy) | ❌ | -| Lifecycle | ✅ `lint_clippy.yml` | ❌ | -| Security/Crypto | ❌ | ❌ | - -Central CodeQL runs in `reference_integration/.github/workflows/codeql-multiple-repo-scan.yml`. - -> **Link discipline:** The **Static** column renders the workflow YAML -> as a line-block link below the status emoji (so reviewers can click -> through to the actual configuration). The **Dynamic** column renders -> the **status only** (no link) — the dynamic-analysis CI is more -> heterogeneous (multiple sanitizer runs per repo, sometimes split across -> several workflow files) and listing one representative file would be -> misleading. Keep this asymmetry when regenerating. - ---- - -## Platform Verification Report - -The platform verification report is a **single project-wide deliverable** — it -does **not** get a per-module column. Render it as a prominent admonition -immediately after the PA5 list-table (styled via `.platform-ver-report` in -`docs/_assets/custom.css`): - -```rst -.. admonition:: Platform Verification Report - :class: important platform-ver-report - - `platform_ver_report - / - docs/score_releases/verification/platform_ver_report.rst>`__ - — 🔄 **Draft** (single project-wide deliverable) -``` - -Update the status emoji + label to match the report's current `:status:` field -(✅ **Valid** / 🔄 **Draft**). Do **not** revert this to a plain -`**bold paragraph**` — the admonition class is what makes it visually -prominent. See [common.md C4.2](./common.md#c42-source-links--mandatory). diff --git a/.github/skills/progress-overview/SKILL.md b/.github/skills/progress-overview/SKILL.md new file mode 100644 index 00000000000..42cfa961200 --- /dev/null +++ b/.github/skills/progress-overview/SKILL.md @@ -0,0 +1,107 @@ +--- +name: progress-overview +description: "How-to reference for the Release-wide Progress Overview (docs/s_core_v_1/releases/progress_overview.rst): per-release progress charts next to the release notes. Explains the two scripts (collect_metrics.py, generate_progress_charts.py), the counting model, the forecast column and the module/colour mapping. Use when refreshing the progress overview after a release, a known_good.json ref bump, or when adding a module. The progress-overview agent orchestrates the run; this skill holds the 'how'." +argument-hint: "optional: release name, e.g. v1.0" +--- + +# Release-wide Progress Overview — the "how" + +`docs/s_core_v_1/releases/progress_overview.rst` is a **thin page** in the +Releases section, next to the release notes: an intro, five +`figure::` directives and links to the verification reports. It carries no +per-module tables — those were replaced by the **Platform Verification Report** +and the per-module **Module Verification Reports** +(`docs/verification_report/`), which are generated from the needs data of the +documentation build and are the authoritative source for the *current* state. + +The only thing this page owns is the **multi-release trend**. Refreshing it is +two commands. + +## Files + +| File | Role | +|---|---| +| `scripts/progress_overview/collect_metrics.py` | counts every release from the module sources, writes the data file | +| `docs/s_core_v_1/releases/progress_overview_data.json` | generated data; safe to hand-tune, but a re-collect overwrites it | +| `scripts/progress_overview/generate_progress_charts.py` | renders the five SVGs; never hand-edit the SVGs | +| `docs/_assets/pa{2,3,4,5}_*.svg` | generated output | +| `docs/s_core_v_1/releases/progress_overview.rst` | only the *data collection date* changes on a refresh | + +## Procedure + +```bash +export GITHUB_PAT=... # for tag / pin lookups +python3 scripts/progress_overview/collect_metrics.py # ~5 min, clones to /tmp +python3 scripts/progress_overview/generate_progress_charts.py +``` + +Then bump the date in the `.. important::` admonition of `progress_overview.rst` +to the `data_collected` value, and verify with +`python3 scripts/progress_overview/generate_progress_charts.py --check`. + +The first run clones ~11 bare repositories (~1.8 GB) into +`/tmp/progress_overview_repos`; later runs only fetch. Use `--cache` to relocate. + +## How the columns are built + +One column per `reference_integration` release tag, ordered by version (a +pre-release such as `v0.5.0-beta` before its final release, `v0.10.0` after +`v0.9.0`), plus a trailing forecast column: + +- **Release columns** — the tag's `known_good.json` gives each module's pin. + Entries carrying only a `version` are resolved to `v` in the module's + own repository. Modules that were never pinned (Security/Crypto, Some/IP) fall + back to the commit on `main` as of the release date. +- **Forecast column** (` (forecast)`) — the **working tree's** + `known_good.json`, i.e. today's state, labelled as the projection for the next + release. The next release is read from the milestones of + [eclipse-score/score](https://github.com/eclipse-score/score/milestones): the + lowest `v.` milestone after the latest release tag (after + `v0.9.0` it is `v0.10`, after `v0.10.0` it is `v1.0`). Never hard-code it; if + the milestone is missing the collector stops, create the milestone instead. + +Every bar is stacked by module. `MODULE_COLORS` is the single source of truth +for the colour of a module and is shared by every chart, so a module keeps its +colour throughout the page; it also fixes the legend order. Within a bar the +slots are sorted by size, largest at the bottom. Modules contributing `0` are +dropped from the stack and the legend. + +## Counting model + +Per module, metrics are summed over **its own repository** plus the matching +feature paths in `eclipse-score/score` (`SCORE_PATHS` fragments, which cover +both the old `modules/` and the current `features/` layout). +Communication excludes `some_ip_gateway`, which is its own module. + +| Metric | Counted as | +|---|---| +| `req` | `.. feat_req::` / `.. comp_req::` / `.. aou_req::` in `.rst`, plus `CompReq` / `FeatReq` / `AoU` / `ExternalCompReq` / `AssumedSystemReq` objects in `.trlc` | +| `arc` | `.. feat*::` / `.. comp*::` / `.. logic_arc_int*::` / `.. real_arc_int*::` in `.rst` | +| `loc` | newlines in `.cpp .cc .cxx .c .h .hpp .hh .rs .py`, excluding `docs/`, `third_party/`, `bazel-*` | +| `unit_tests` | test definitions (`TEST(` / `TEST_F(` / `TEST_P(` / `TYPED_TEST(` / `TYPED_TEST_P(` / Rust `#[test]` / Python `def test_`) outside an `INT_TEST_DIRS` directory | +| `int_tests` | the same patterns **inside** a directory named `component`, `integration`, `integration_test(s)`, `integration_testing`, `itf`, `feature_integration_tests` or `platform_integration_tests` | + +The integration count also includes `reference_integration`'s own feature tests. +Those are read from this checkout (not from a clone) at the release tag, and the +module is taken from the path segment below `feature_integration_tests/` or +`platform_integration_tests/` via `RI_ALIASES`. Only the test count is taken +from there — never the lines of code, which belong to the modules. + +Counts are **totals**, irrespective of `:status:` — the charts visualise scope +growth, not validation maturity. `chklst_*.rst` files are excluded. + +## Rules + +- Keep the cross-reference labels `progress_overview_requirements`, + `progress_overview_architecture`, `progress_overview_implementation` and + `progress_overview_verification` — `pi1.rst`, `pi2.rst` and `pi3.rst` link to them. +- The page is listed first in the toctree of `releases.rst`, before the release + notes (`release_note_*` glob). +- Never hand-edit an SVG; regenerate it. +- Re-collect **all** columns rather than appending one by hand. The value of the + series is that every column used the same counter. +- Adding a module means one entry in `MODULES` (repo, `known_good` keys, score + path fragments), one in `MODULE_COLORS` and one in `RI_ALIASES`. +- These numbers are source-derived and will **not** match CI dashboards. Test + counts are test definitions, not parameterised CI runs; expect the CI unit + test total to be several times larger. Say so if a reader compares them. diff --git a/docs/_assets/custom.css b/docs/_assets/custom.css index 7c4765e8d9f..bce680a555d 100644 --- a/docs/_assets/custom.css +++ b/docs/_assets/custom.css @@ -168,7 +168,7 @@ body.wide-content-page .bd-content .bd-article-container { } /* --------------------------------------------------------------------------- - * RST line-blocks inside list-tables (used in overall_status.rst PA cells): + * RST line-blocks inside list-tables: * Sphinx wraps the indented "| ..." continuation in a
, which * adds a left border and a tinted background. Inside a status table we want * those secondary lines (test counts, coverage values, links) to look like @@ -205,91 +205,3 @@ table .line-block .line { border: none !important; background: transparent !important; } - -/* --------------------------------------------------------------------------- - * Platform Verification Report admonition (overall_status.rst PA5): - * make this single project-wide deliverable visually prominent. - * ---------------------------------------------------------------------------*/ - -.admonition.platform-ver-report { - font-size: 1.15rem; - border-left: 6px solid #1a5fa8; - background-color: #eef4fb; - padding: 0.8rem 1rem; - margin: 1.2rem 0; -} - -.admonition.platform-ver-report > .admonition-title { - font-size: 1.25rem; - font-weight: 700; - color: #1a5fa8; - margin-bottom: 0.3rem; -} - -.admonition.platform-ver-report p { - margin: 0; - font-size: 1.1rem; -} - -/* --------------------------------------------------------------------------- - * Process / Implementation status headings (overall_status.rst): - * make rubric headings visually larger, and render the implementation - * status as a single inline row with a progress bar. - * ---------------------------------------------------------------------------*/ - -p.rubric.status-heading, -.rubric.status-heading { - font-size: 1.35rem; - font-weight: 700; - margin-top: 1.2rem; - margin-bottom: 0.6rem; - color: #1a5fa8; -} - -.impl-status-row { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 0.6rem; - font-size: 1.35rem; - font-weight: 700; - color: #1a5fa8; - margin: 1.2rem 0 0.8rem 0; -} - -.impl-status-row .impl-status-label { - white-space: nowrap; -} - -.impl-status-row .impl-status-icon { - font-size: 1.25rem; -} - -.impl-status-row .impl-status-percent { - min-width: 3.5rem; - text-align: right; -} - -.impl-status-row .impl-status-bar { - flex: 1 1 200px; - min-width: 160px; - max-width: 360px; - height: 14px; - background-color: #e3e8ef; - border: 1px solid #c0c8d4; - border-radius: 7px; - overflow: hidden; -} - -.impl-status-row .impl-status-fill { - height: 100%; - background: linear-gradient(90deg, #1a5fa8 0%, #4a90d9 100%); - border-radius: 6px 0 0 6px; -} - -.impl-status-row .impl-status-detail { - font-size: 1rem; - font-weight: 500; - color: #444; - white-space: nowrap; -} diff --git a/docs/_assets/pa2_impl_progress.svg b/docs/_assets/pa2_impl_progress.svg index 182eb13e681..e2753d39cde 100644 --- a/docs/_assets/pa2_impl_progress.svg +++ b/docs/_assets/pa2_impl_progress.svg @@ -1,88 +1,154 @@ - - PA2 Implementation — total Feature and Component Requirements per release - - - PA2 Implementation — total requirements per release (sum of all modules) - - - - - - - - - - - - - - - + + Requirements per release (feature + component) + Requirements per release (feature + component) + + + + + + + + + + - 0 - 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 + 0 + 200 + 400 + 600 + 800 + 1,000 + 1,200 + 1,400 - - - - - - - - 313 - 80 - v0.5.0-beta - - - - - - - 315 - 160 - v0.6.0 - - - - - - - 316 - 186 - v0.7.0 - - - - - - - 341 - 607 - v0.8 - - - - - - - 297 - 783 - v0.9 - - - + + Communication: 452 + 452 + Lifecycle: 95 + 95 + Persistency: 75 + 75 + Baselibs: 58 + Logging: 46 + Security/Crypto: 42 + Diagnostic Services: 22 + Time: 15 + Config Mgmt: 13 + Some/IP: 5 + 823 + v0.5.0-beta + + Communication: 458 + 458 + Baselibs: 103 + 103 + Lifecycle: 96 + 96 + Persistency: 75 + 75 + Config Mgmt: 51 + Logging: 46 + Security/Crypto: 42 + Diagnostic Services: 22 + Time: 15 + Some/IP: 5 + 913 + v0.6.0 + + Communication: 454 + 454 + Baselibs: 153 + 153 + Lifecycle: 96 + 96 + Config Mgmt: 80 + 80 + Persistency: 77 + 77 + Logging: 46 + Security/Crypto: 42 + Diagnostic Services: 22 + Time: 15 + Some/IP: 14 + 999 + v0.7.0 + + Communication: 553 + 553 + Baselibs: 161 + 161 + Lifecycle: 96 + 96 + Persistency: 76 + 76 + Config Mgmt: 74 + 74 + Logging: 68 + Security/Crypto: 55 + Diagnostic Services: 22 + Time: 15 + Some/IP: 14 + 1,134 + v0.8.0 + + Communication: 550 + 550 + Baselibs: 205 + 205 + Lifecycle: 100 + 100 + Config Mgmt: 83 + 83 + Persistency: 76 + 76 + Logging: 69 + 69 + Security/Crypto: 60 + Time: 27 + Diagnostic Services: 22 + Some/IP: 14 + 1,206 + v0.9.0 + + Communication: 551 + 551 + Baselibs: 208 + 208 + Lifecycle: 100 + 100 + Persistency: 85 + 85 + Config Mgmt: 83 + 83 + Logging: 69 + 69 + Security/Crypto: 60 + Time: 27 + Diagnostic Services: 22 + Some/IP: 14 + 1,219 + v0.10 (forecast) - - Feature Requirements - - Component Requirements + + Baselibs + + Communication + + Logging + + Persistency + + Time + + Config Mgmt + + Lifecycle + + Security/Crypto + + Diagnostic Services + + Some/IP diff --git a/docs/_assets/pa3_arch_progress.svg b/docs/_assets/pa3_arch_progress.svg index 883cf42b22e..a9be16b3faa 100644 --- a/docs/_assets/pa3_arch_progress.svg +++ b/docs/_assets/pa3_arch_progress.svg @@ -1,80 +1,131 @@ - - PA3 Architecture Design — total Feature and Component Architecture items per release - - - PA3 Architecture Design — total architecture items per release (sum of all modules) - - - - - - - - - - - + + Architecture elements per release (feature + component) + Architecture elements per release (feature + component) + + + + + + + + + + + - 0 - 80 - 160 - 240 - 320 + 0 + 50 + 100 + 150 + 200 + 250 + 300 + 350 + 400 - - - - - - - - 16 - 83 - v0.5.0-beta - - - - - - - 19 - 151 - v0.6.0 - - - - - - - 21 - 203 - v0.7.0 - - - - - - - 23 - 204 - v0.8 - - - - - - - 29 - 309 - v0.9 - - - + + Baselibs: 69 + 69 + Lifecycle: 46 + 46 + Communication: 15 + Persistency: 13 + Logging: 3 + 146 + v0.5.0-beta + + Baselibs: 118 + 118 + Lifecycle: 52 + 52 + Communication: 17 + Persistency: 15 + Logging: 4 + 206 + v0.6.0 + + Baselibs: 169 + 169 + Lifecycle: 52 + 52 + Communication: 20 + 20 + Persistency: 15 + Logging: 7 + Some/IP: 2 + 265 + v0.7.0 + + Baselibs: 172 + 172 + Security/Crypto: 55 + 55 + Lifecycle: 52 + 52 + Persistency: 23 + 23 + Communication: 20 + 20 + Logging: 10 + Some/IP: 6 + 338 + v0.8.0 + + Baselibs: 207 + 207 + Security/Crypto: 56 + 56 + Lifecycle: 53 + 53 + Persistency: 23 + 23 + Communication: 20 + 20 + Logging: 10 + Some/IP: 6 + Time: 5 + Config Mgmt: 1 + Diagnostic Services: 1 + 382 + v0.9.0 + + Baselibs: 209 + 209 + Security/Crypto: 57 + 57 + Lifecycle: 53 + 53 + Communication: 20 + 20 + Persistency: 16 + Logging: 10 + Some/IP: 10 + Time: 5 + Config Mgmt: 1 + Diagnostic Services: 1 + 382 + v0.10 (forecast) - - Feature Architecture - - Component Architecture + + Baselibs + + Communication + + Logging + + Persistency + + Time + + Config Mgmt + + Lifecycle + + Security/Crypto + + Diagnostic Services + + Some/IP diff --git a/docs/_assets/pa4_impl_progress.svg b/docs/_assets/pa4_impl_progress.svg index e41e9d40f99..86228a2604a 100644 --- a/docs/_assets/pa4_impl_progress.svg +++ b/docs/_assets/pa4_impl_progress.svg @@ -1,70 +1,144 @@ - - PA4 Implementation — estimated total Lines of Code per release - - - PA4 Implementation — estimated total Lines of Code per release - - - - - - - - - - - - + + Lines of code per release + Lines of code per release + + + + + + + + + + + + - 0 - 200k - 400k - 600k - 800k - 1000k + 0 + 100,000 + 200,000 + 300,000 + 400,000 + 500,000 + 600,000 + 700,000 + 800,000 + 900,000 - - - - - - - 569,578 - v0.5.0-beta - - - - - - 650,743 - v0.6.0 - - - - - - 689,601 - v0.7.0 - - - - - - 881,800 - v0.8 - - - - - - 1,060,000 - v0.9 - - + + Baselibs: 237,092 + 237,092 + Communication: 137,712 + 137,712 + Logging: 38,428 + Kyron: 32,359 + Lifecycle: 29,408 + Persistency: 13,205 + Config Mgmt: 11,325 + Some/IP: 2,801 + Time: 45 + 502,375 + v0.5.0-beta + + Baselibs: 235,880 + 235,880 + Communication: 159,545 + 159,545 + Logging: 42,057 + Kyron: 34,214 + Lifecycle: 33,424 + Persistency: 15,437 + Config Mgmt: 13,435 + Some/IP: 2,882 + Time: 45 + Security/Crypto: 45 + 536,964 + v0.6.0 + + Baselibs: 243,742 + 243,742 + Communication: 175,053 + 175,053 + Logging: 40,511 + Lifecycle: 39,823 + Kyron: 34,226 + Time: 20,469 + Some/IP: 17,652 + Persistency: 15,712 + Config Mgmt: 14,458 + Security/Crypto: 45 + 601,691 + v0.7.0 + + Baselibs: 269,746 + 269,746 + Communication: 191,617 + 191,617 + Lifecycle: 42,368 + Logging: 42,289 + Security/Crypto: 38,902 + Kyron: 34,249 + Some/IP: 28,584 + Time: 22,815 + Persistency: 15,761 + Config Mgmt: 14,917 + 701,248 + v0.8.0 + + Baselibs: 266,570 + 266,570 + Communication: 250,134 + 250,134 + Security/Crypto: 63,123 + 63,123 + Lifecycle: 53,917 + 53,917 + Logging: 42,866 + Kyron: 34,249 + Some/IP: 27,034 + Time: 23,536 + Persistency: 15,724 + Config Mgmt: 15,059 + 792,212 + v0.9.0 + + Baselibs: 272,674 + 272,674 + Communication: 255,766 + 255,766 + Security/Crypto: 75,293 + 75,293 + Lifecycle: 54,338 + 54,338 + Logging: 44,149 + Kyron: 34,245 + Some/IP: 32,003 + Time: 25,260 + Persistency: 16,078 + Config Mgmt: 15,059 + 824,865 + v0.10 (forecast) - - Estimated LOC = sum of source-file bytes / 30 (.cpp .cc .cxx .c .h .hpp .hxx .rs .py .proto .fbs) - + + Baselibs + + Communication + + Logging + + Persistency + + Time + + Config Mgmt + + Lifecycle + + Kyron + + Security/Crypto + + Some/IP diff --git a/docs/_assets/pa5_integration_test_progress.svg b/docs/_assets/pa5_integration_test_progress.svg new file mode 100644 index 00000000000..9c3f5ceb2a6 --- /dev/null +++ b/docs/_assets/pa5_integration_test_progress.svg @@ -0,0 +1,108 @@ + + Component and feature integration tests per release + Component and feature integration tests per release + + + + + + + + + + + + + 0 + 50 + 100 + 150 + 200 + 250 + 300 + 350 + + + Communication: 2 + Some/IP: 1 + 3 + v0.5.0-beta + + Communication: 30 + 30 + Persistency: 3 + Some/IP: 1 + 34 + v0.6.0 + + Communication: 42 + 42 + Persistency: 3 + Lifecycle: 3 + Some/IP: 1 + 49 + v0.7.0 + + Communication: 62 + 62 + Persistency: 50 + 50 + Lifecycle: 28 + 28 + Some/IP: 21 + 21 + Security/Crypto: 11 + Logging: 8 + 180 + v0.8.0 + + Communication: 86 + 86 + Lifecycle: 58 + 58 + Persistency: 50 + 50 + Some/IP: 22 + 22 + Security/Crypto: 10 + Logging: 8 + Baselibs: 6 + 240 + v0.9.0 + + Communication: 112 + 112 + Lifecycle: 59 + 59 + Persistency: 50 + 50 + Security/Crypto: 35 + 35 + Logging: 14 + Some/IP: 11 + Baselibs: 9 + Time: 1 + Kyron: 1 + 292 + v0.10 (forecast) + + + Baselibs + + Communication + + Logging + + Persistency + + Time + + Lifecycle + + Kyron + + Security/Crypto + + Some/IP + + diff --git a/docs/_assets/pa5_unit_test_progress.svg b/docs/_assets/pa5_unit_test_progress.svg new file mode 100644 index 00000000000..97df1b183cf --- /dev/null +++ b/docs/_assets/pa5_unit_test_progress.svg @@ -0,0 +1,137 @@ + + Unit tests per release + Unit tests per release + + + + + + + + + + + + + + 0 + 2,000 + 4,000 + 6,000 + 8,000 + 10,000 + 12,000 + 14,000 + 16,000 + + + Baselibs: 5,334 + 5,334 + Communication: 2,357 + 2,357 + Logging: 623 + Kyron: 452 + Persistency: 374 + Config Mgmt: 153 + Time: 4 + Some/IP: 4 + 9,301 + v0.5.0-beta + + Baselibs: 5,241 + 5,241 + Communication: 2,457 + 2,457 + Logging: 661 + Kyron: 455 + Persistency: 386 + Config Mgmt: 177 + Lifecycle: 37 + Time: 4 + Security/Crypto: 4 + Some/IP: 4 + 9,426 + v0.6.0 + + Baselibs: 5,417 + 5,417 + Communication: 2,623 + 2,623 + Logging: 638 + Kyron: 455 + Persistency: 386 + Time: 307 + Lifecycle: 266 + Some/IP: 263 + Config Mgmt: 183 + Security/Crypto: 4 + 10,542 + v0.7.0 + + Baselibs: 5,952 + 5,952 + Communication: 2,933 + 2,933 + Logging: 671 + Lifecycle: 468 + Kyron: 455 + Persistency: 386 + Some/IP: 368 + Time: 353 + Config Mgmt: 194 + Security/Crypto: 75 + 11,855 + v0.8.0 + + Baselibs: 5,730 + 5,730 + Communication: 3,929 + 3,929 + Lifecycle: 753 + Logging: 681 + Kyron: 455 + Persistency: 386 + Time: 374 + Some/IP: 345 + Security/Crypto: 273 + Config Mgmt: 194 + 13,120 + v0.9.0 + + Baselibs: 5,942 + 5,942 + Communication: 3,964 + 3,964 + Lifecycle: 752 + Logging: 698 + Kyron: 455 + Some/IP: 433 + Time: 417 + Persistency: 400 + Security/Crypto: 320 + Config Mgmt: 194 + 13,575 + v0.10 (forecast) + + + Baselibs + + Communication + + Logging + + Persistency + + Time + + Config Mgmt + + Lifecycle + + Kyron + + Security/Crypto + + Some/IP + + diff --git a/docs/_assets/pa5_verification_progress.svg b/docs/_assets/pa5_verification_progress.svg deleted file mode 100644 index dfdeb09722d..00000000000 --- a/docs/_assets/pa5_verification_progress.svg +++ /dev/null @@ -1,152 +0,0 @@ - - PA5 Verification — tests per release and current code coverage - - - PA5 Verification — test counts per release and current code coverage (sum of all 12 tracked modules) - - - - - Unit Tests - - - - - - - - - - - - 0 - 10k - 20k - 30k - - - - - 8399 - v0.5.0-beta - - - 8409 - v0.6.0 - - - 8718 - v0.7.0 - - - 30701 - v0.8 - - - 28989 - v0.9 - - - - - Integration Tests - - - - - - - - - - - - - - 0 - 100 - 200 - 300 - 400 - 500 - - - - - - v0.5.0-beta - 15 - 3 - - - - v0.6.0 - 43 - 13 - - - - v0.7.0 - 63 - 12 - - - - v0.8 - 192 - 54 - - - - v0.9 - 464 - 52 - - - - - Component - - Feature - - - - - - Code Coverage (now, weighted by # tests) - - - - - - - - - - - - 0% - 30% - 60% - 90% - - - - 100% - - - - - 93.1% - C0 (line) - - - 60.6% - C1 (branch) - - - - - v0.5.0-beta–v0.7.0: static GTEST/Rust/Python test-macro counts • v0.8–v0.9: reference-CI test-run counts (incl. parameterized expansions; Security/Crypto and Some/IP are not in the reference CI) — methods diverge, see note • Coverage: C++ line/branch coverage weighted by unit-test count - - diff --git a/docs/conf.py b/docs/conf.py index a1c839df8bd..185c8d4d33f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -74,7 +74,7 @@ def _patch_needpie_suppress_legend() -> None: "secondary_sidebar_items": { "**": ["page-toc"], "feature_and_process_status": [], - "s_core_v_1/roadmap/overall_status": [], + "s_core_v_1/releases/progress_overview": [], }, "show_toc_level": 2, "navigation_with_keys": False, diff --git a/docs/integration_process/reference.rst b/docs/integration_process/reference.rst index 75a31518c1d..95e8703d59d 100644 --- a/docs/integration_process/reference.rst +++ b/docs/integration_process/reference.rst @@ -140,9 +140,9 @@ The consolidated outputs published by the integration. They are built by - Per-module Rust line coverage (C0/C1) for modules declaring ``rust``. - `rust_coverage/BUILD `_ → ``bazel run //rust_coverage:rust_coverage_`` - * - Overall feature & process status - - Feature/process completion dashboard derived from the pinned module repos. - - `docs/s_core_v_1/roadmap/overall_status.rst `_ + * - Release-wide progress overview + - Per-release progress charts, current release split by module. + - `docs/s_core_v_1/releases/progress_overview.rst `_ * - Integration status dashboard - Live build/health overview of the integration. - `status_dashboard.html <../status_dashboard.html>`_ diff --git a/docs/integration_process/step_7_reporting.rst b/docs/integration_process/step_7_reporting.rst index f41ca81aee1..8d9c00c3936 100644 --- a/docs/integration_process/step_7_reporting.rst +++ b/docs/integration_process/step_7_reporting.rst @@ -122,9 +122,13 @@ Verification & status reports ----------------------------- The consolidated reports live under -`docs/verification_report `_ and the roadmap / -status trackers under -`docs/s_core_v_1/roadmap `_ (e.g. -``overall_status.rst``). Add your module to the relevant tables/rows so it shows -up in the platform verification report and the feature/process status overview. +`docs/verification_report `_, the roadmap under +`docs/s_core_v_1/roadmap `_ +and the release-wide progress overview next to the release notes under +`docs/s_core_v_1/releases `_. +Your module appears in the platform and module +verification reports as soon as its documentation is part of the build; add it +to ``scripts/progress_overview/collect_metrics.py`` to give it a colour slot in +the per-release progress charts of +``docs/s_core_v_1/releases/progress_overview.rst``. The full catalogue of reports is under :ref:`reports`. diff --git a/docs/s_core_v_1/releases/progress_overview.rst b/docs/s_core_v_1/releases/progress_overview.rst new file mode 100644 index 00000000000..d998f2f5a99 --- /dev/null +++ b/docs/s_core_v_1/releases/progress_overview.rst @@ -0,0 +1,104 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +:hide-toc: + +Release-wide Progress Overview +============================== + +.. important:: + + **Data collected on: 2026-10-29** + +This page shows how the S-CORE platform grew across releases. Each chart +aggregates one metric over all tracked modules; every bar is split into colour +slots, one slot per contributing module. + +The last column, marked **(forecast)** and named after the next release +milestone, is not a released state — it is today's state of the modules pinned +in ``known_good.json``, shown as the projection for the next release. + +For the **current** state — per-module and per-component requirements, +architecture, traceability, coverage and work-product status — use the +verification reports, which are generated from the needs data of this +documentation build: + +* :doc:`Platform Verification Report ` + — feature-level requirements, architecture and inspection statistics. +* :doc:`Module Verification Reports ` + — per module: components, component requirements, architectural elements, + requirements traceability, test coverage and verification work products. + +.. note:: + + All columns are recounted from the module sources pinned by each release, so + the series is internally comparable. The counts are source-derived and + therefore differ from CI figures — test counts are test *definitions*, not + parameterised CI runs. Treat the numbers as indicative; the verification + reports are the authoritative source. + +.. _progress_overview_requirements: + +Requirements +------------ + +.. figure:: /_assets/pa2_impl_progress.svg + :alt: Requirements per release, split by module + :width: 880px + + Feature and component requirements across the tracked modules per release. + +.. _progress_overview_architecture: + +Architecture +------------ + +.. figure:: /_assets/pa3_arch_progress.svg + :alt: Architecture elements per release, split by module + :width: 880px + + Feature and component architecture elements across the tracked modules per + release. + +.. _progress_overview_implementation: + +Implementation +-------------- + +.. figure:: /_assets/pa4_impl_progress.svg + :alt: Lines of code per release, split by module + :width: 880px + + Lines of code across the tracked modules per release, excluding + documentation and third-party sources. + +.. _progress_overview_verification: + +Verification +------------ + +.. figure:: /_assets/pa5_unit_test_progress.svg + :alt: Unit tests per release, split by module + :width: 880px + + Unit test definitions across the tracked modules per release. + +.. figure:: /_assets/pa5_integration_test_progress.svg + :alt: Component and feature integration tests per release, split by module + :width: 880px + + Component and feature integration test definitions per release. Alongside + the integration tests kept in the module repositories this includes the + feature tests hosted in ``reference_integration`` itself, attributed to the + module under test. diff --git a/docs/s_core_v_1/releases/progress_overview_data.json b/docs/s_core_v_1/releases/progress_overview_data.json new file mode 100644 index 00000000000..4c1c473c2a4 --- /dev/null +++ b/docs/s_core_v_1/releases/progress_overview_data.json @@ -0,0 +1,569 @@ +{ + "data_collected": "2026-10-29", + "module_colors": { + "Baselibs": "#1f77b4", + "Communication": "#ff7f0e", + "Logging": "#2ca02c", + "Persistency": "#d62728", + "Time": "#9467bd", + "Config Mgmt": "#8c564b", + "Lifecycle": "#e377c2", + "Kyron": "#17becf", + "Security/Crypto": "#bcbd22", + "Diagnostic Services": "#aec7e8", + "NM": "#ffbb78", + "Some/IP": "#98df8a" + }, + "charts": { + "requirements": { + "file": "pa2_impl_progress.svg", + "title": "Requirements per release (feature + component)", + "axis_max": 1400, + "axis_step": 200, + "releases": [ + { + "name": "v0.5.0-beta", + "modules": { + "Baselibs": 58, + "Communication": 452, + "Logging": 46, + "Persistency": 75, + "Time": 15, + "Config Mgmt": 13, + "Lifecycle": 95, + "Kyron": 0, + "Security/Crypto": 42, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 5 + } + }, + { + "name": "v0.6.0", + "modules": { + "Baselibs": 103, + "Communication": 458, + "Logging": 46, + "Persistency": 75, + "Time": 15, + "Config Mgmt": 51, + "Lifecycle": 96, + "Kyron": 0, + "Security/Crypto": 42, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 5 + } + }, + { + "name": "v0.7.0", + "modules": { + "Baselibs": 153, + "Communication": 454, + "Logging": 46, + "Persistency": 77, + "Time": 15, + "Config Mgmt": 80, + "Lifecycle": 96, + "Kyron": 0, + "Security/Crypto": 42, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 14 + } + }, + { + "name": "v0.8.0", + "modules": { + "Baselibs": 161, + "Communication": 553, + "Logging": 68, + "Persistency": 76, + "Time": 15, + "Config Mgmt": 74, + "Lifecycle": 96, + "Kyron": 0, + "Security/Crypto": 55, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 14 + } + }, + { + "name": "v0.9.0", + "modules": { + "Baselibs": 205, + "Communication": 550, + "Logging": 69, + "Persistency": 76, + "Time": 27, + "Config Mgmt": 83, + "Lifecycle": 100, + "Kyron": 0, + "Security/Crypto": 60, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 14 + } + }, + { + "name": "v0.10 (forecast)", + "modules": { + "Baselibs": 208, + "Communication": 551, + "Logging": 69, + "Persistency": 85, + "Time": 27, + "Config Mgmt": 83, + "Lifecycle": 100, + "Kyron": 0, + "Security/Crypto": 60, + "Diagnostic Services": 22, + "NM": 0, + "Some/IP": 14 + } + } + ] + }, + "architecture": { + "file": "pa3_arch_progress.svg", + "title": "Architecture elements per release (feature + component)", + "axis_max": 400, + "axis_step": 50, + "releases": [ + { + "name": "v0.5.0-beta", + "modules": { + "Baselibs": 69, + "Communication": 15, + "Logging": 3, + "Persistency": 13, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 46, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 0 + } + }, + { + "name": "v0.6.0", + "modules": { + "Baselibs": 118, + "Communication": 17, + "Logging": 4, + "Persistency": 15, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 52, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 0 + } + }, + { + "name": "v0.7.0", + "modules": { + "Baselibs": 169, + "Communication": 20, + "Logging": 7, + "Persistency": 15, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 52, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 2 + } + }, + { + "name": "v0.8.0", + "modules": { + "Baselibs": 172, + "Communication": 20, + "Logging": 10, + "Persistency": 23, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 52, + "Kyron": 0, + "Security/Crypto": 55, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 6 + } + }, + { + "name": "v0.9.0", + "modules": { + "Baselibs": 207, + "Communication": 20, + "Logging": 10, + "Persistency": 23, + "Time": 5, + "Config Mgmt": 1, + "Lifecycle": 53, + "Kyron": 0, + "Security/Crypto": 56, + "Diagnostic Services": 1, + "NM": 0, + "Some/IP": 6 + } + }, + { + "name": "v0.10 (forecast)", + "modules": { + "Baselibs": 209, + "Communication": 20, + "Logging": 10, + "Persistency": 16, + "Time": 5, + "Config Mgmt": 1, + "Lifecycle": 53, + "Kyron": 0, + "Security/Crypto": 57, + "Diagnostic Services": 1, + "NM": 0, + "Some/IP": 10 + } + } + ] + }, + "implementation": { + "file": "pa4_impl_progress.svg", + "title": "Lines of code per release", + "axis_max": 900000, + "axis_step": 100000, + "releases": [ + { + "name": "v0.5.0-beta", + "modules": { + "Baselibs": 237092, + "Communication": 137712, + "Logging": 38428, + "Persistency": 13205, + "Time": 45, + "Config Mgmt": 11325, + "Lifecycle": 29408, + "Kyron": 32359, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 2801 + } + }, + { + "name": "v0.6.0", + "modules": { + "Baselibs": 235880, + "Communication": 159545, + "Logging": 42057, + "Persistency": 15437, + "Time": 45, + "Config Mgmt": 13435, + "Lifecycle": 33424, + "Kyron": 34214, + "Security/Crypto": 45, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 2882 + } + }, + { + "name": "v0.7.0", + "modules": { + "Baselibs": 243742, + "Communication": 175053, + "Logging": 40511, + "Persistency": 15712, + "Time": 20469, + "Config Mgmt": 14458, + "Lifecycle": 39823, + "Kyron": 34226, + "Security/Crypto": 45, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 17652 + } + }, + { + "name": "v0.8.0", + "modules": { + "Baselibs": 269746, + "Communication": 191617, + "Logging": 42289, + "Persistency": 15761, + "Time": 22815, + "Config Mgmt": 14917, + "Lifecycle": 42368, + "Kyron": 34249, + "Security/Crypto": 38902, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 28584 + } + }, + { + "name": "v0.9.0", + "modules": { + "Baselibs": 266570, + "Communication": 250134, + "Logging": 42866, + "Persistency": 15724, + "Time": 23536, + "Config Mgmt": 15059, + "Lifecycle": 53917, + "Kyron": 34249, + "Security/Crypto": 63123, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 27034 + } + }, + { + "name": "v0.10 (forecast)", + "modules": { + "Baselibs": 272674, + "Communication": 255766, + "Logging": 44149, + "Persistency": 16078, + "Time": 25260, + "Config Mgmt": 15059, + "Lifecycle": 54338, + "Kyron": 34245, + "Security/Crypto": 75293, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 32003 + } + } + ] + }, + "unit_tests": { + "file": "pa5_unit_test_progress.svg", + "title": "Unit tests per release", + "axis_max": 16000, + "axis_step": 2000, + "releases": [ + { + "name": "v0.5.0-beta", + "modules": { + "Baselibs": 5334, + "Communication": 2357, + "Logging": 623, + "Persistency": 374, + "Time": 4, + "Config Mgmt": 153, + "Lifecycle": 0, + "Kyron": 452, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 4 + } + }, + { + "name": "v0.6.0", + "modules": { + "Baselibs": 5241, + "Communication": 2457, + "Logging": 661, + "Persistency": 386, + "Time": 4, + "Config Mgmt": 177, + "Lifecycle": 37, + "Kyron": 455, + "Security/Crypto": 4, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 4 + } + }, + { + "name": "v0.7.0", + "modules": { + "Baselibs": 5417, + "Communication": 2623, + "Logging": 638, + "Persistency": 386, + "Time": 307, + "Config Mgmt": 183, + "Lifecycle": 266, + "Kyron": 455, + "Security/Crypto": 4, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 263 + } + }, + { + "name": "v0.8.0", + "modules": { + "Baselibs": 5952, + "Communication": 2933, + "Logging": 671, + "Persistency": 386, + "Time": 353, + "Config Mgmt": 194, + "Lifecycle": 468, + "Kyron": 455, + "Security/Crypto": 75, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 368 + } + }, + { + "name": "v0.9.0", + "modules": { + "Baselibs": 5730, + "Communication": 3929, + "Logging": 681, + "Persistency": 386, + "Time": 374, + "Config Mgmt": 194, + "Lifecycle": 753, + "Kyron": 455, + "Security/Crypto": 273, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 345 + } + }, + { + "name": "v0.10 (forecast)", + "modules": { + "Baselibs": 5942, + "Communication": 3964, + "Logging": 698, + "Persistency": 400, + "Time": 417, + "Config Mgmt": 194, + "Lifecycle": 752, + "Kyron": 455, + "Security/Crypto": 320, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 433 + } + } + ] + }, + "integration_tests": { + "file": "pa5_integration_test_progress.svg", + "title": "Component and feature integration tests per release", + "axis_max": 350, + "axis_step": 50, + "releases": [ + { + "name": "v0.5.0-beta", + "modules": { + "Baselibs": 0, + "Communication": 2, + "Logging": 0, + "Persistency": 0, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 0, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 1 + } + }, + { + "name": "v0.6.0", + "modules": { + "Baselibs": 0, + "Communication": 30, + "Logging": 0, + "Persistency": 3, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 0, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 1 + } + }, + { + "name": "v0.7.0", + "modules": { + "Baselibs": 0, + "Communication": 42, + "Logging": 0, + "Persistency": 3, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 3, + "Kyron": 0, + "Security/Crypto": 0, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 1 + } + }, + { + "name": "v0.8.0", + "modules": { + "Baselibs": 0, + "Communication": 62, + "Logging": 8, + "Persistency": 50, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 28, + "Kyron": 0, + "Security/Crypto": 11, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 21 + } + }, + { + "name": "v0.9.0", + "modules": { + "Baselibs": 6, + "Communication": 86, + "Logging": 8, + "Persistency": 50, + "Time": 0, + "Config Mgmt": 0, + "Lifecycle": 58, + "Kyron": 0, + "Security/Crypto": 10, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 22 + } + }, + { + "name": "v0.10 (forecast)", + "modules": { + "Baselibs": 9, + "Communication": 112, + "Logging": 14, + "Persistency": 50, + "Time": 1, + "Config Mgmt": 0, + "Lifecycle": 59, + "Kyron": 1, + "Security/Crypto": 35, + "Diagnostic Services": 0, + "NM": 0, + "Some/IP": 11 + } + } + ] + } + } +} diff --git a/docs/s_core_v_1/releases/release_note_score_v0_8.rst b/docs/s_core_v_1/releases/release_note_score_v0_8.rst index 6fd445c49c0..8a2897232f3 100644 --- a/docs/s_core_v_1/releases/release_note_score_v0_8.rst +++ b/docs/s_core_v_1/releases/release_note_score_v0_8.rst @@ -177,7 +177,7 @@ Reference integration - Added a dedicated `Integration Process Guide `_ with a step-by-step onboarding path (module onboarding, platform integration, testing, reporting, and code quality checks). - Introduced the v1.0 roadmap and release-gate documentation in `Roadmap `_, including clearer milestone alignment across process areas. -- Established and continuously refreshed the `Overall Status `_ page to provide release-level visibility on cross-module progress and process-area metrics. +- Established and continuously refreshed the `Overall Status (now Release-wide Progress Overview) `_ page to provide release-level visibility on cross-module progress and process-area metrics. Reference QNX image diff --git a/docs/s_core_v_1/releases/releases.rst b/docs/s_core_v_1/releases/releases.rst index af111240b0a..24781d9b830 100644 --- a/docs/s_core_v_1/releases/releases.rst +++ b/docs/s_core_v_1/releases/releases.rst @@ -15,8 +15,13 @@ Releases ============ +.. toctree:: + :titlesonly: + + Release-wide Progress Overview + .. toctree:: :titlesonly: :glob: - * + release_note_* diff --git a/docs/s_core_v_1/roadmap/overall_status.rst b/docs/s_core_v_1/roadmap/overall_status.rst deleted file mode 100644 index d7421d8c4d8..00000000000 --- a/docs/s_core_v_1/roadmap/overall_status.rst +++ /dev/null @@ -1,1159 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2026 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -:hide-toc: - -Overall Status -============== - -.. important:: - - **Data collected on: 2026-09-04** - -.. note:: - - This status overview is generated with AI assistance and is **not yet - fully accurate**. It is intended as a directional snapshot — the trend and - structure are correct, but individual figures and statuses may still be - off. Treat the numbers as indicative until the underlying data sources are - fully validated. - -This page tracks feature and process status across the SCORE platform modules. -It is regenerated from live `eclipse-score` GitHub repositories pinned via -``known_good.json``. - -.. admonition:: Changes in this snapshot - :class: tip - - * The progress charts now carry a fifth column, **v0.9** — this snapshot - is measured against the ``release_candidate_09`` pins, so the v0.8 - column holds the previously published release figures. - * **Kyron** is tracked as a module for the first time (12 module rows - instead of 11). It ships code, unit tests, Rust coverage, a Clippy gate - and a large component-integration suite, but has no requirements, - architecture or detailed-design documents yet. - * The ``score`` repository was **restructured**: component documentation - moved from ``docs/modules//`` into the individual module - repositories, and ``docs/features/analysis-infra/logging`` became - ``docs/features/log_and_trace/logging``. All path filters were rebuilt - against the pinned trees. - * Several modules migrated their requirements to **TRLC** - (Communication, Config Management). Where an RST set and a TRLC set - describe the same feature area, only the larger of the two is counted — - the duplicate is suppressed to avoid double counting. - * **Time** and **Config Management** are now pinned in ``known_good.json``, - so their source links point at a fixed commit instead of ``main``. - * **Security/Crypto** and **Some/IP** are *not* pinned in - ``known_good.json`` and therefore no longer part of the reference - integration CI. Their unit-test and coverage cells are marked - 🔄 *Module CI only* and link to the workflows in their own repositories. - * The PA2 feature-requirement total decreased (341 → 297) because the - Lifecycle feature requirements were consolidated during the - restructuring (92 → 32); the component-requirement total grew - strongly (607 → 783). - - -.. _overall_status_pa1: - -Process Area 1 — Change Management ----------------------------------- - -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'change_management' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'change_management' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'change_management' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'change_management' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(change_management) - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(change_management) - -.. raw:: html - -
- Rollout status: - 🔄 - 83% -
- 10/12 deliverables complete -
- - -.. list-table:: - :header-rows: 1 - - * - **Module** - - **CR approved** - * - Baselibs - - ✅ Accepted - - | `#549 `__ — ✅ Accepted [v0.5 Certifiable] — Feature request: common libraries for IPC and Logging - | `#757 `__ — ✅ Accepted — Feature request for qualified json-parser - | `#917 `__ — ✅ Accepted [v1.0] — Feature Request for ABI compatible datatypes - * - Communication - - ✅ Accepted - - | `#69 `__ — ✅ Accepted [v0.5 Certifiable] — Feature Request for IPC - * - Logging - - ✅ Accepted - - | `#68 `__ — ✅ Accepted [v0.5 Certifiable] — Feature Request for Logging - * - Persistency - - ✅ Accepted - - | `#95 `__ — ✅ Accepted [v0.5 Certifiable] — Feature Request for Persistency - * - Time - - ✅ Accepted - - | `#910 `__ — ✅ Accepted [v1.0] — Feature Request for Time - * - Config Mgmt - - ✅ Accepted - - | `#754 `__ — ✅ Accepted [v1.0] — Feature Request for Config Management - * - Lifecycle - - ✅ Accepted - - | `#909 `__ — ✅ Accepted [v1.0] — Feature Request for Health & Lifecycle - * - Kyron - - 🔄 In Progress - - | `#2029 `__ — 🔄 Open — Certified async-runtime - | `#2445 `__ — ✅ Accepted [v1.0] — Kyron — S-CORE Release v1.0 - | `#2894 `__ — ✅ Accepted [v0.8] — Kyron for S-CORE Release v0.8 - * - Security/Crypto - - ✅ Accepted - - | `#905 `__ — ✅ Accepted [v1.0] — Feature Request for Security & Crypto - * - Diagnostic Services - - ✅ Accepted - - | `#911 `__ — ✅ Accepted [v1.0] — Feature Request for Diagnostic Services & Fault Management - * - NM - - ❌ Open - * - Some/IP - - ✅ Accepted - - | `#914 `__ — ✅ Accepted [v1.0] — Feature Request for SOME/IP Gateway - -.. _overall_status_pa2: - -Process Area 2 — Requirements Engineering ------------------------------------------ - -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(requirements_engineering) - -.. figure:: /_assets/pa2_impl_progress.svg - :alt: PA2 implementation progress - :width: 880px - - Total Feature and Component Requirements across the 12 tracked modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8 → v0.9). - -.. raw:: html - -
- Rollout status: - 🔄 - 50% -
- 18/36 deliverables complete -
- - -.. list-table:: - :header-rows: 1 - - * - **Module** - - **Feature Req** - - **Component Req** - - **Req. Inspection** - * - Baselibs - - ✅ Available (14/14) - - | `baselibs `__ (14) - - ✅ Available (136/136 comp_req + 32/32 AoU) - - | `abi_compatible_data_types `__ (23) - | `bitmanipulation `__ (6) - | `concurrency `__ (18) - | `containers `__ (5) - | `containers_rust `__ (16) - | `filesystem `__ (7) - | `flatbuffers `__ (6) - | `hash `__ (7) - | `json `__ (8) - | `vajson `__ (5) - | `safecpp `__ (6) - | `memory `__ (13) - | `result `__ (7) - | `static_reflection_with_serialization `__ (6) - | `utils `__ (3) - - 🔄 40% (4/10) - - | ✅ `baselibs `__ - | ✅ `bitmanipulation `__ - | 🔄 `concurrency `__ - | 🔄 `containers `__ - | 🔄 `filesystem `__ - | 🔄 `json `__ - | 🔄 `safecpp `__ - | ✅ `result `__ - | 🔄 `static_reflection_with_serialization `__ - | ✅ `utils `__ - * - Communication - - ✅ Available (64/64) - - | `message_passing `__ (11) [TRLC] - | `ipc `__ (4) - | `communication `__ (49) - - ✅ Available (363/363 comp_req + 38/38 AoU) - - | `message_passing `__ (29) [TRLC] - | `message_passing `__ (4) [TRLC] - | `ipc `__ (98) [TRLC] - | `ipc_fields `__ (17) [TRLC] - | `ipc_generic_proxy `__ (51) [TRLC] - | `ipc_generic_skeleton `__ (32) [TRLC] - | `ipc_methods `__ (3) [TRLC] - | `ipc_partial_restart `__ (11) [TRLC] - | `ipc_proxy `__ (40) [TRLC] - | `ipc_skeleton `__ (26) [TRLC] - | `ipc_tracing `__ (52) [TRLC] - | `message_passing `__ (1) [TRLC] - | `com `__ (37) [TRLC] - - ❌ Open - * - Logging - - ✅ Available (46/46) - - | `logging `__ (46) - - ✅ Available (39/39 comp_req + 5/5 AoU) - - | `log `__ (18) - | `datarouter `__ (6) - | `mw_log `__ (15) - | `log `__ (5) - - 🔄 0% (0/3) - - | 🔄 `mw_log `__ - | 🔄 `logging `__ - | 🔄 `log `__ - * - Persistency - - ✅ Available (37/37) - - | `persistency `__ (37) - - ✅ Available (35/35 comp_req) - - | `kvs `__ (35) - - ✅ Available (2/2) - - | ✅ `persistency `__ - | ✅ `kvs `__ - * - Time - - ✅ Available (15/15) - - | `time `__ (15) - - 🔄 0% (0/4 AoU) - - | `time `__ (2) - | `time_daemon `__ (2) - - 🔄 0% (0/4) - - | 🔄 `time `__ - | 🔄 `time_daemon `__ - | 🔄 `time_slave `__ - | 🔄 `ts_client `__ - * - Config Mgmt - - ✅ Available (20/20) - - | `config_management `__ (20) [TRLC] - - ✅ Available (47/47 comp_req + 1/1 AoU) - - | `config_daemon `__ (30) [TRLC] - | `config_provider `__ (17) [TRLC] - | `config_management `__ (1) [TRLC] - - ❌ Open - * - Lifecycle - - ✅ Available (32/32) - - | `lifecycle `__ (32) - - ✅ Available (64/64 comp_req + 1/1 AoU) - - | `health_monitor `__ (1) - | `launch_manager `__ (63) - - 🔄 0% (0/2) - - | 🔄 `health_monitor `__ - | 🔄 `launch_manager `__ - * - Kyron - - ❌ Open - - ❌ Open - - ❌ Open - * - Security/Crypto - - ✅ Available (41/41) - - | `security_crypto `__ (41) - - 🔄 70% (1/1 comp_req + 6/9 AoU) - - | `iav_primula `__ (1) - | `crypto `__ (3) - | `crypto `__ (2) - | `crypto `__ (2) - - 🔄 0% (0/2) - - | 🔄 `crypto `__ - | 🔄 `iav_primula `__ - * - Diagnostic Services - - ✅ Available (22/22) - - | `diagnostics `__ (22) - - ❌ Open - - ❌ Open - * - NM - - ❌ Open - - ❌ Open - - ❌ Open - * - Some/IP - - ✅ Available (6/6) - - | `tc8_conformance `__ (1) - | `some_ip_gateway `__ (5) - - ✅ Available (8/8 comp_req) - - | `tc8_conformance `__ (8) - - ❌ Open - -.. _overall_status_pa3: - -Process Area 3 — Architecture Design ------------------------------------- - -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(architecture_design) - -.. figure:: /_assets/pa3_arch_progress.svg - :alt: PA3 architecture progress - :width: 880px - - Total Feature and Component Architecture elements across the 12 tracked modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8 → v0.9). - -.. raw:: html - -
- Rollout status: - 🔄 - 42% -
- 15/36 deliverables complete -
- - -.. list-table:: - :header-rows: 1 - - * - **Module** - - **Feature Arch** - - **Component Arch** - - **Arch. Inspection** - * - Baselibs - - ✅ Available (3/3) - - | `baselibs `__ (2) - | `baselibs `__ (1) - - 🔄 99% (197/198) - - | `abi_compatible_data_types `__ (1) - | `bitmanipulation `__ (12) - | `concurrency `__ (33) - | `containers `__ (9) - | `containers_rust `__ (27) - | `containers_rust `__ (1) - | `filesystem `__ (25) - | `flatbuffers `__ (1) - | `hash `__ (1) - | `json `__ (7) - | `vajson `__ (1) - | `safecpp `__ (23) - | `memory `__ (6) - | `result `__ (6) - | `static_reflection_with_serialization `__ (11) - | `utils `__ (6) - | `baselibs `__ (28) - - 🔄 80% (8/10) - - | ✅ `baselibs `__ - | ✅ `bitmanipulation `__ - | ✅ `concurrency `__ - | ✅ `containers `__ - | ✅ `filesystem `__ - | 🔄 `json `__ - | ✅ `safecpp `__ - | ✅ `result `__ - | 🔄 `static_reflection_with_serialization `__ - | ✅ `utils `__ - * - Communication - - ✅ Available (3/3) - - | `communication `__ (2) - | `ipc `__ (1) - - ✅ Available (17/17) - - | `communication `__ (1) - | `configuration `__ (1) - | `frontent `__ (10) - | `ipc_binding `__ (1) - | `message_passing `__ (3) - | `mock_binding `__ (1) - - ❌ Open - * - Logging - - ✅ Available (2/2) - - | `logging `__ (1) - | `logging `__ (1) - - ✅ Available (13/13) - - | `log `__ (2) - | `rust_bridge_design `__ (3) - | `datarouter `__ (1) - | `mw_log `__ (4) - | `logging `__ (3) - - 🔄 0% (0/2) - - | 🔄 `logging `__ - | 🔄 `log `__ - * - Persistency - - ✅ Available (9/9) - - | `persistency `__ (8) - | `persistency `__ (1) - - 🔄 40% (2/5) - - | `persistency `__ (1) - | `kvs `__ (3) - | `persistency `__ (1) - - 🔄 0% (0/2) - - | 🔄 `persistency `__ - | 🔄 `kvs `__ - * - Time - - ✅ Available (1/1) - - | `time `__ (1) - - ✅ Available (2/2) - - | `time `__ (1) - | `ts_client `__ (1) - - ❌ Open - * - Config Mgmt - - ✅ Available (1/1) - - | `config_mgmt `__ (1) - - ❌ Open - - ❌ Open - * - Lifecycle - - ✅ Available (7/7) - - | `health_monitor `__ (2) - | `lifecycle `__ (1) - | `launch_manager `__ (3) - | `lifecycle `__ (1) - - ✅ Available (45/45) - - | `launch_manager_configuration `__ (1) - | `health_monitor `__ (16) - | `launch_manager `__ (2) - | `lifecycle `__ (26) - - 🔄 0% (0/3) - - | 🔄 `lifecycle `__ - | 🔄 `health_monitor `__ - | 🔄 `launch_manager `__ - * - Kyron - - ❌ Open - - ❌ Open - - ❌ Open - * - Security/Crypto - - ✅ Available (1/1) - - | `security_crypto `__ (1) - - 🔄 16% (4/25) - - | `crypto `__ (21) - | `iav_primula `__ (4) - - 🔄 0% (0/3) - - | 🔄 `crypto `__ - | 🔄 `crypto `__ - | 🔄 `iav_primula `__ - * - Diagnostic Services - - ✅ Available (1/1) - - | `diagnostics `__ (1) - - ❌ Open - - ❌ Open - * - NM - - ❌ Open - - ❌ Open - - ❌ Open - * - Some/IP - - ✅ Available (1/1) - - | `inc_someip_gateway `__ (1) - - ✅ Available (4/4) - - | `inc_someip_gateway `__ (4) - - ❌ Open - -.. _overall_status_pa4: - -Process Area 4 — Implementation -------------------------------- - -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(implementation) - -.. figure:: /_assets/pa4_impl_progress.svg - :alt: PA4 implementation progress - :width: 880px - - Estimated Lines of Code across the 12 tracked modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8 → v0.9). - -.. raw:: html - -
- Rollout status: - 🔄 - 46% -
- 22/48 deliverables complete -
- - -.. list-table:: - :header-rows: 1 - - * - **Module** - - **SW Dev Plan** - - **Code** - - **Detailed Design** - - **Impl. Inspection** - * - Baselibs - - ✅ Available - - | `software_development `__ - - ✅ Available (~322,600 LOC) - - | 1,667 source files — cpp 178,100, h 96,100, hpp 30,500, rs 16,100 - - 🔄 Draft (1 design doc(s), 0 ``dd`` elements) - - | `CADS `__ - - 🔄 0% (0/9) - - | 🔄 `bitmanipulation `__ - | 🔄 `concurrency `__ - | 🔄 `containers `__ - | 🔄 `filesystem `__ - | 🔄 `json `__ - | 🔄 `safecpp `__ - | 🔄 `result `__ - | 🔄 `static_reflection_with_serialization `__ - | 🔄 `utils `__ - * - Communication - - ✅ Available - - | `software_development `__ - - ✅ Available (~363,000 LOC) - - | 1,734 source files — cpp 245,400, h 82,000, py 22,300, rs 13,400 - - 🔄 Draft (1 design doc(s), 0 ``dd`` elements) - - | `lola `__ - - ❌ Open - * - Logging - - ✅ Available - - | `software_development `__ - - ✅ Available (~79,700 LOC) - - | 454 source files — cpp 56,100, h 20,200, py 1,800, rs 1,400 - - 🔄 Draft (2 design doc(s), 0 ``dd`` elements) - - | `log `__ - | `mw_log `__ - - 🔄 0% (0/2) - - | 🔄 `mw_log `__ - | 🔄 `log `__ - * - Persistency - - ✅ Available - - | `software_development `__ - - ✅ Available (~18,000 LOC) - - | 76 source files — rs 8,800, cpp 6,000, py 2,000, hpp 1,300 - - 🔄 Draft (1 design doc(s), 0 ``dd`` elements) - - | `kvs `__ - - 🔄 0% (0/1) - - | 🔄 `kvs `__ - * - Time - - ✅ Available - - | `software_development `__ - - ✅ Available (~26,600 LOC) - - | 239 source files — cpp 16,000, h 9,900, py 700 - - 🔄 Draft (4 design doc(s), 0 ``dd`` elements) - - | `time `__ - | `time_daemon `__ - | `time_slave `__ - | `ts_client `__ - - 🔄 0% (0/4) - - | 🔄 `time `__ - | 🔄 `time_daemon `__ - | 🔄 `time_slave `__ - | 🔄 `ts_client `__ - * - Config Mgmt - - ✅ Available - - | `software_development `__ - - ✅ Available (~23,300 LOC) - - | 156 source files — cpp 15,900, h 5,200, py 1,900, hpp 300 - - ❌ Open - - ❌ Open - * - Lifecycle - - ✅ Available - - | `software_development `__ - - ✅ Available (~68,200 LOC) - - | 367 source files — cpp 30,400, hpp 18,400, rs 10,400, py 6,200 - - 🔄 Draft (2 design doc(s), 0 ``dd`` elements) - - | `health_monitor `__ - | `launch_manager `__ - - 🔄 0% (0/2) - - | 🔄 `health_monitor `__ - | 🔄 `launch_manager `__ - * - Kyron - - ✅ Available - - | `software_development `__ - - ✅ Available (~38,600 LOC) - - | 166 source files — rs 32,100, py 6,500 - - ❌ Open - - ❌ Open - * - Security/Crypto - - ✅ Available - - | `software_development `__ - - ✅ Available (~82,700 LOC) - - | 375 source files — hpp 28,300, cpp 27,700, rs 23,800, h 2,100 - - 🔄 Draft (2 design doc(s), 0 ``dd`` elements) - - | `crypto `__ - | `iav_primula `__ - - 🔄 0% (0/2) - - | 🔄 `crypto `__ - | 🔄 `iav_primula `__ - * - Diagnostic Services - - ✅ Available - - | `software_development `__ - - ❌ Open - - ❌ Open - - ❌ Open - * - NM - - ✅ Available - - | `software_development `__ - - ❌ Open - - ❌ Open - - ❌ Open - * - Some/IP - - ✅ Available - - | `software_development `__ - - ✅ Available (~37,300 LOC) - - | 172 source files — cpp 22,400, hpp 10,600, py 2,500, h 1,600 - - ❌ Open - - ❌ Open - -.. _overall_status_pa5: - -Process Area 5 — Verification ------------------------------ - -.. rubric:: Process Status - :class: status-heading - -.. list-table:: - :header-rows: 1 - :class: compact-overview-table - - * - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(verification) - -.. figure:: /_assets/pa5_verification_progress.svg - :alt: PA5 verification progress - :width: 1260px - - Test counts and coverage across the 12 tracked modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8 → v0.9). - -.. raw:: html - -
- Rollout status: - 🔄 - 42% -
- 35/84 deliverables complete -
- -.. note:: - - **C0/C1 Coverage** data is sourced from the ``reference_integration`` - CI (*Code Quality & Documentation* workflow, - ``bazel coverage --config=ferrocene-coverage``). C0 = line coverage, - C1 = branch coverage. Rust coverage reports line coverage only. - Modules that are not pinned in ``known_good.json`` and therefore not - built by the ``reference_integration`` CI (Security/Crypto, Some/IP) - are marked 🔄 *Module CI only* and link to their own repository - workflows instead. - -.. note:: - - **Static Code Analysis** is tracked per module via dedicated CI - workflows (clang-tidy for C++, Rust Clippy for Rust). All listed - workflows are *zero-tolerance* (CI fails on any finding), so a passing - ``main`` branch implies **0 open findings**. Additionally, CodeQL - runs centrally across all pinned repositories in - ``reference_integration`` (finding counts require the GitHub Security - tab). - - **Dynamic Code Analysis** is tracked via sanitizer CI workflows - (ASan/UBSan/LSan via ``--config=asan_ubsan_lsan``, TSan via - ``--config=tsan``). All listed workflows are zero-tolerance, so a - passing ``main`` branch implies **0 sanitizer findings**. - -.. note:: - - **Module Verification Report** additionally lists generated - traceability evidence where a module produces it. Communication builds - a *L.O.B.S.T.E.R. Traceability Report* (LOBSTER 1.0.6, pulled by - ``third_party/lobster/lobster.bzl``) from the ``dependable_element`` - Bazel rule in ``eclipse-score/tooling``. The report is assembled during - ``bazel build //docs/sphinx:sphinx_doc`` and published to GitHub Pages - by ``deploy_docs.yml`` — it is **not** checked into the repository, so - it does not appear in the pinned source tree. It currently covers the - ``message_passing`` dependable element only; there is no equivalent - report for LoLa / ``mw::com``. - - -.. list-table:: - :header-rows: 1 - - * - **Module** - - **Unit Tests** - - **C0/C1 Cov** - - **Comp. IT** - - **Feat. IT** - - **Static** - - **Dynamic** - - **Module Ver. Rpt** - * - Baselibs - - ✅ 23,976 tests - - | `reference CI run `__ - | 23,926 passed, 50 skipped - - 🔄 C0 94.9% / C1 61.7% (C++) - - | `reference CI run `__ - - ✅ 6 test cases - - | 3 files — ``examples/integration/`` - - ❌ Open - - ✅ 0 findings - - | `lint.yml `__ - - ✅ ASan, LSan, UBSan - - | `sanitizers_linux.yml `__ - - 🔄 Draft - - | `module_verification_report `__ - * - Communication - - ✅ 3,530 tests - - | `reference CI run `__ - - 🔄 C0 83.0% / C1 52.6% (C++) - - | `reference CI run `__ - - ✅ 111 test cases - - | 234 files — ``score/mw/com/test/``, ``score/mw/com/gateway/transport_layer/sample/test/``, ``quality/integration_testing/test/`` - - ❌ Open - - ✅ 0 findings - - | `nightly_quality.yml `__ - - ✅ ASan, LSan, TSan, UBSan - - | `build_and_test_host.yml `__ - - 🔄 Draft - - | `module_verification_report `__ - | ✅ `LOBSTER traceability report (message_passing) `__ — generated by `dependable_element_message_passing `__ - * - Logging - - ✅ 334 tests - - | `reference CI run `__ - - 🔄 C0 96.6% / C1 75.4% (C++), C0 39.9% (Rust) - - | `reference CI run `__ - - ✅ 8 test cases - - | 11 files — ``score/test/component/`` - - ✅ 2 test cases - - | ``feature_integration_tests/`` - - ✅ 0 findings - - | `clang_tidy.yml `__ - - ✅ ASan, LSan, TSan, UBSan - - | `sanitizers.yml `__ - - 🔄 Draft - - | `module_verification_report `__ - * - Persistency - - ✅ 95 tests - - | `reference CI run `__ - - 🔄 C0 94.7% / C1 63.0% (C++), C0 92.7% (Rust) - - | `reference CI run `__ - - ✅ 44 test cases - - | 9 files — ``score/kvs/tests/test_cases/tests/`` - - ✅ 50 test cases - - | ``feature_integration_tests/`` - - ✅ 0 findings - - | `clippy.yml `__ - - ❌ Open - - ✅ Available - - | `module_verification_report `__ - * - Time - - ✅ 335 tests - - | `reference CI run `__ - - 🔄 C0 90.3% / C1 61.4% (C++) - - | `reference CI run `__ - - ✅ 7 test cases - - | 5 files — ``score/`` - - ❌ Open - - 🔄 clang-tidy ✅, CodeQL ❌ failing - - | `clang-tidy.yml `__ - | `codeql.yml `__ - - ✅ ASan, LSan, UBSan - - | `sanitizers.yml `__ - - ❌ Open - * - Config Mgmt - - ✅ 238 tests - - | `reference CI run `__ - - 🔄 C0 92.8% / C1 64.1% (C++) - - | `reference CI run `__ - - ❌ Open - - ❌ Open - - ✅ 0 findings - - | `static-analysis.yml `__ - - ❌ Open - - ❌ Open - * - Lifecycle - - ✅ 478 tests - - | `reference CI run `__ - | 476 passed, 2 skipped - - 🔄 C0 77.4% / C1 50.7% (C++), C0 53.5% (Rust) - - | `reference CI run `__ - - ✅ 58 test cases - - | 58 files — ``tests/integration/`` - - ❌ Open - - ✅ 0 findings - - | `on-pr.yml `__ - - ✅ ASan, LSan, TSan, UBSan - - | `on-pr.yml `__ - - 🔄 Draft - - | `verification_report `__ - * - Kyron - - 🔄 3 tests - - | `reference CI run `__ - | bazel-scoped unit tests only - - 🔄 C0 50.4% (Rust) - - | `reference CI run `__ - - ✅ 209 test cases - - | 25 files — ``tests/test_cases/tests/`` - - ❌ Open - - ✅ 0 findings - - | `lint_fmt_clippy.yml `__ - - ❌ Open - - ❌ Open - * - Security/Crypto - - 🔄 Module CI only - - | `test_linux.yml `__ - - ❌ Open - - ✅ 10 test cases - - | 6 files — ``score/tests/integration_tests/`` - - ❌ Open - - ✅ 0 findings - - | `on-pr.yml `__ - - ❌ Open - - 🔄 Draft - - | `module_verification_report `__ - * - Diagnostic Services - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - * - NM - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - * - Some/IP - - 🔄 Module CI only - - | `build_and_test_host.yml `__ - - 🔄 Module CI only - - | `coverage.yml `__ - - ✅ 11 test cases - - | 8 files — ``quality/integration_testing/`` - - ❌ Open - - ✅ 0 findings - - | `static-code-analysis.yml `__ - - ✅ ASan, LSan, TSan, UBSan - - | `build_and_test_host.yml `__ - - ❌ Open - -.. admonition:: Platform Verification Report - :class: important platform-ver-report - - Platform Verification Report — ❌ **Open** (single project-wide deliverable; - not yet published at the pinned ``score`` ref) diff --git a/docs/s_core_v_1/roadmap/pi1.rst b/docs/s_core_v_1/roadmap/pi1.rst index 815d24e4b69..7223c3c8e9c 100644 --- a/docs/s_core_v_1/roadmap/pi1.rst +++ b/docs/s_core_v_1/roadmap/pi1.rst @@ -41,11 +41,14 @@ Focus: Requirements Engineering (PA2) + Architecture Design (PA3) Current State ------------- -See the relevant tables in :doc:`overall_status`: +See the progress charts in :doc:`/s_core_v_1/releases/progress_overview`: -- :ref:`overall_status_pa2` — Requirements Engineering -- :ref:`overall_status_pa3` — Architecture Design -- :ref:`overall_status_pa5` — Verification / Coverage +- :ref:`progress_overview_requirements` — Requirements Engineering +- :ref:`progress_overview_architecture` — Architecture Design +- :ref:`progress_overview_verification` — Verification / Coverage + +For the current per-module detail see the +:doc:`Module Verification Reports `. Work Breakdown -------------- @@ -70,12 +73,12 @@ Work Breakdown in the TL circle** before it is merged. - All in-scope feature requirements and the elements linked to them (component requirements, AoUs, feature architecture, component architecture) - are in status ``valid``. The overall status can always be tracked on the - :doc:`overall_status` page. + are in status ``valid``. The progress can always be tracked on the + :doc:`/s_core_v_1/releases/progress_overview` page. - Implement all missing automation checks for requirement and architecture elements as part of the docs-as-code toolchain used for generation of the - documentation (``//:docs``), as depicted in the *Process Status* pies on - :doc:`overall_status` (PA2 / PA3 *Req. verification status*) + documentation (``//:docs``), as reported in the + :doc:`Platform Verification Report ` - Provide a standardized CI/CD workflow for all implementation modules to validate requirements and architecture artifacts in compliance with the S-CORE process. The workflow shall be executed in the diff --git a/docs/s_core_v_1/roadmap/pi2.rst b/docs/s_core_v_1/roadmap/pi2.rst index d504f195a11..9e7553379eb 100644 --- a/docs/s_core_v_1/roadmap/pi2.rst +++ b/docs/s_core_v_1/roadmap/pi2.rst @@ -34,7 +34,7 @@ Milestone: `score/v0.9 `__ **Current State** -See the relevant tables in :doc:`overall_status`: +See the progress charts in :doc:`/s_core_v_1/releases/progress_overview`: -- :ref:`overall_status_pa4` — Implementation -- :ref:`overall_status_pa5` — Verification / Coverage +- :ref:`progress_overview_implementation` — Implementation +- :ref:`progress_overview_verification` — Verification / Coverage diff --git a/docs/s_core_v_1/roadmap/pi3.rst b/docs/s_core_v_1/roadmap/pi3.rst index 85ab0c41f85..93e81ae031d 100644 --- a/docs/s_core_v_1/roadmap/pi3.rst +++ b/docs/s_core_v_1/roadmap/pi3.rst @@ -37,6 +37,6 @@ Milestone: `score/v0.10 `__ **Current State** -See the relevant tables in :doc:`overall_status`: +See the progress charts in :doc:`/s_core_v_1/releases/progress_overview`: -- :ref:`overall_status_pa5` — Verification / Coverage +- :ref:`progress_overview_verification` — Verification / Coverage diff --git a/docs/s_core_v_1/roadmap/planning_approach.rst b/docs/s_core_v_1/roadmap/planning_approach.rst index 81aae27860e..874ada8b58f 100644 --- a/docs/s_core_v_1/roadmap/planning_approach.rst +++ b/docs/s_core_v_1/roadmap/planning_approach.rst @@ -78,7 +78,7 @@ example ``pa1_req_eng``, ``pa2_arch_design``, ``pa3_implementation``, ``pa4_verification``. This makes it possible to group and filter tickets not only **by time** (milestone / release gate) but also **by function** (process area), which is what feeds the per-process-area views on the -:doc:`Overall Status ` page. +:doc:`Release-wide Progress Overview ` page. Terminology ----------- diff --git a/docs/s_core_v_1/roadmap/roadmap.rst b/docs/s_core_v_1/roadmap/roadmap.rst index 8ff2a69aacc..68f8e3732c1 100644 --- a/docs/s_core_v_1/roadmap/roadmap.rst +++ b/docs/s_core_v_1/roadmap/roadmap.rst @@ -198,7 +198,6 @@ Status & Next Steps :titlesonly: :maxdepth: 1 - Overall Status Planning Approach Release Gate v0.8 — Requirements Engineering + Architecture Design Release Gate v0.9 — Implementation diff --git a/scripts/progress_overview/collect_metrics.py b/scripts/progress_overview/collect_metrics.py new file mode 100644 index 00000000000..9ca1a73cde1 --- /dev/null +++ b/scripts/progress_overview/collect_metrics.py @@ -0,0 +1,461 @@ +#!/usr/bin/env python3 +# ******************************************************************************* +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* +"""Collect per-release, per-module metrics for the release-wide progress overview charts. + +For every ``reference_integration`` release tag the module pins are read from +that tag's ``known_good.json``; the working tree's ``known_good.json`` supplies +the forecast column. Metrics are then counted from bare clones using git +plumbing, which keeps the whole run local and free of API rate limits. + +Requires ``GITHUB_PAT`` for the tag/pin lookups. Writes +``progress_overview_data.json``; run ``generate_progress_charts.py`` afterwards. +""" + +import argparse +import base64 +import json +import math +import os +import re +import subprocess +import urllib.error +import urllib.request +from collections import Counter +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[2] +DATA_FILE = REPO_ROOT / "docs" / "s_core_v_1" / "releases" / "progress_overview_data.json" +API = "https://api.github.com" +REF_INT = "eclipse-score/reference_integration" + +# display name -> (repo, known_good keys oldest-first, score-repo path fragments) +MODULES = { + "Baselibs": ("eclipse-score/baselibs", ["score_baselibs"], ["features/baselibs", "modules/baselibs"]), + "Communication": ( + "eclipse-score/communication", + ["score_communication"], + ["features/communication", "modules/communication"], + ), + "Logging": ( + "eclipse-score/logging", + ["score_logging"], + ["features/logging", "features/analysis-infra/logging", "features/log_and_trace/logging", "modules/logging"], + ), + "Persistency": ( + "eclipse-score/persistency", + ["score_persistency"], + ["features/persistency", "modules/persistency"], + ), + "Time": ("eclipse-score/time", ["score_time"], ["features/time", "modules/time"]), + "Config Mgmt": ( + "eclipse-score/config_management", + ["score_config_management"], + ["features/configuration", "modules/config"], + ), + "Lifecycle": ( + "eclipse-score/lifecycle", + ["score_lifecycle", "score_lifecycle_health"], + ["features/lifecycle", "modules/lifecycle"], + ), + "Kyron": ("eclipse-score/kyron", ["score_kyron"], ["features/kyron", "modules/kyron"]), + "Security/Crypto": ("eclipse-score/inc_security_crypto", [], ["features/security_crypto", "modules/security"]), + "Diagnostic Services": (None, [], ["features/diagnostics", "modules/diagnostic"]), + "NM": (None, [], ["features/network_management", "features/nm/", "modules/network_management"]), + "Some/IP": ("eclipse-score/inc_someip_gateway", [], ["features/communication/some_ip_gateway"]), +} +SCORE_REPO = "eclipse-score/score" +SCORE_KEY = "score_platform" +SOMEIP = "some_ip_gateway" + +# reference_integration hosts the feature-level integration tests; the module a +# test belongs to is taken from the path segment below these directories. +RI_TEST_DIRS = ("feature_integration_tests", "platform_integration_tests") +RI_ALIASES = { + "Baselibs": {"baselibs"}, + "Communication": {"communication"}, + "Logging": {"logging"}, + "Persistency": {"persistency"}, + "Time": {"time"}, + "Config Mgmt": {"config", "config_management", "configuration"}, + "Lifecycle": {"lifecycle"}, + "Kyron": {"kyron"}, + "Security/Crypto": {"security", "crypto", "security_crypto"}, + "Diagnostic Services": {"diagnostics", "diagnostic_services"}, + "NM": {"nm", "network_management"}, + "Some/IP": {"some_ip", "someip", "some_ip_gateway"}, +} + +MODULE_COLORS = { + "Baselibs": "#1f77b4", + "Communication": "#ff7f0e", + "Logging": "#2ca02c", + "Persistency": "#d62728", + "Time": "#9467bd", + "Config Mgmt": "#8c564b", + "Lifecycle": "#e377c2", + "Kyron": "#17becf", + "Security/Crypto": "#bcbd22", + "Diagnostic Services": "#aec7e8", + "NM": "#ffbb78", + "Some/IP": "#98df8a", +} + +CHARTS = [ + ("requirements", "req", "pa2_impl_progress.svg", "Requirements per release (feature + component)"), + ("architecture", "arc", "pa3_arch_progress.svg", "Architecture elements per release (feature + component)"), + ("implementation", "loc", "pa4_impl_progress.svg", "Lines of code per release"), + ("unit_tests", "unit_tests", "pa5_unit_test_progress.svg", "Unit tests per release"), + ( + "integration_tests", + "int_tests", + "pa5_integration_test_progress.svg", + "Component and feature integration tests per release", + ), +] + +REQ_RST = re.compile(r"^\s*\.\.\s+(feat_req|comp_req|aou_req)::", re.M) +ARC_RST = re.compile( + r"^\s*\.\.\s+(feat|feat_arc|feat_arc_sta|feat_arc_dyn|comp|comp_arc|comp_arc_sta" + r"|comp_arc_dyn|logic_arc_int|logic_arc_int_op|real_arc_int|real_arc_int_op)::", + re.M, +) +TRLC_OBJ = re.compile(r"^[ \t]*(?:\w+\.)?([A-Z]\w*)[ \t]+\w+[ \t]*\{", re.M) +TRLC_REQ_TYPES = {"CompReq", "FeatReq", "AoU", "ExternalCompReq", "AssumedSystemReq"} +TEST_PAT = re.compile( + r"\bTEST(?:_F|_P)?\s*\(|\bTYPED_TEST(?:_P)?\s*\(|^\s*#\[\s*test\s*\]" + r"|^\s*(?:async\s+)?def\s+test_", + re.M, +) +SRC_EXT = (".cpp", ".cc", ".cxx", ".c", ".h", ".hpp", ".hh", ".rs", ".py") +# a test whose path crosses one of these directories is not a unit test +INT_TEST_DIRS = { + "component", + "integration", + "integration_test", + "integration_tests", + "integration_testing", + "itf", + *RI_TEST_DIRS, +} + +_api_cache: dict[str, object] = {} + + +def gh(path): + if path not in _api_cache: + req = urllib.request.Request( + API + path, + headers={ + "Authorization": f"Bearer {os.environ['GITHUB_PAT']}", + "Accept": "application/vnd.github+json", + "User-Agent": "progress-overview", + }, + ) + with urllib.request.urlopen(req) as r: + _api_cache[path] = json.load(r) + return _api_cache[path] + + +def resolve_tag(repo, tag): + """Return the commit a tag points at, dereferencing annotated tags.""" + try: + d = gh(f"/repos/{repo}/git/ref/tags/{tag}") + except urllib.error.HTTPError: + return None + sha = d["object"]["sha"] + if d["object"]["type"] == "tag": + sha = gh(f"/repos/{repo}/git/tags/{sha}")["object"]["sha"] + return sha + + +def commit_before(repo, iso_date): + try: + c = gh(f"/repos/{repo}/commits?until={iso_date}&per_page=1") + except urllib.error.HTTPError: + return None + return c[0]["sha"] if c else None + + +def flatten(known_good): + flat = {} + for key, value in known_good.get("modules", {}).items(): + if isinstance(value, dict) and "repo" in value: + flat[key] = value + elif isinstance(value, dict): + flat.update(value) + return flat + + +def gitdir(repo, cache): + """reference_integration is measured from this checkout, not from a clone.""" + if repo == REF_INT: + return REPO_ROOT / ".git" + return cache / f"{repo.split('/')[-1]}.git" + + +def git(repo, cache, *args): + return subprocess.run( + ["git", f"--git-dir={gitdir(repo, cache)}", *args], + capture_output=True, + ) + + +def ensure_clone(repo, cache): + target = gitdir(repo, cache) + if target.exists(): + subprocess.run(["git", f"--git-dir={target}", "fetch", "-q", "--all", "--tags"], check=False) + return + token = os.environ["GITHUB_PAT"] + print(f" cloning {repo}") + subprocess.run( + ["git", "clone", "-q", "--bare", f"https://x-access-token:{token}@github.com/{repo}.git", str(target)], + check=True, + ) + + +def ls_tree(repo, sha, cache): + out = git(repo, cache, "ls-tree", "-r", "--long", sha) + if out.returncode: + return [] + entries = [] + for line in out.stdout.decode("utf-8", "replace").splitlines(): + meta, path = line.split("\t", 1) + parts = meta.split() + if parts[1] == "blob": + entries.append((parts[2], path)) + return entries + + +def read_blobs(repo, shas, cache): + """Stream several blobs through a single `git cat-file --batch` call.""" + if not shas: + return {} + p = subprocess.run( + ["git", f"--git-dir={gitdir(repo, cache)}", "cat-file", "--batch"], + input=("\n".join(shas) + "\n").encode(), + capture_output=True, + ) + res, buf, pos = {}, p.stdout, 0 + for sha in shas: + nl = buf.index(b"\n", pos) + header = buf[pos:nl].decode() + pos = nl + 1 + if "missing" in header: + continue + size = int(header.split()[2]) + res[sha] = buf[pos : pos + size].decode("utf-8", "replace") + pos += size + 1 + return res + + +def is_doc(path): + return path.endswith(".rst") and "chklst" not in path + + +def is_src(path): + p = path.lower() + if not p.endswith(SRC_EXT) or p.startswith("bazel-"): + return False + return not (p.startswith(("docs/", "third_party/")) or "/docs/" in p or "/third_party/" in p) + + +def is_integration_test(path): + return bool(INT_TEST_DIRS & set(path.split("/")[:-1])) + + +def measure(repo, sha, cache, path_ok=None, *, with_code=True): + entries = [e for e in ls_tree(repo, sha, cache) if path_ok is None or path_ok(e[1])] + counts = Counter() + if not entries: + return counts + + docs = [s for s, p in entries if is_doc(p)] + blobs = read_blobs(repo, docs, cache) + for sha_ in docs: + body = blobs.get(sha_, "") + counts["req"] += len(REQ_RST.findall(body)) + counts["arc"] += len(ARC_RST.findall(body)) + + trlc = [s for s, p in entries if p.endswith(".trlc")] + blobs = read_blobs(repo, trlc, cache) + for sha_ in trlc: + for kind in TRLC_OBJ.findall(blobs.get(sha_, "")): + if kind in TRLC_REQ_TYPES: + counts["req"] += 1 + + if with_code: + src = [(s, p) for s, p in entries if is_src(p)] + blobs = read_blobs(repo, [s for s, _ in src], cache) + for sha_, path in src: + body = blobs.get(sha_, "") + counts["loc"] += body.count("\n") + bucket = "int_tests" if is_integration_test(path) else "unit_tests" + counts[bucket] += len(TEST_PAT.findall(body)) + return counts + + +def ri_integration_tests(repo, sha, cache): + """Count reference_integration's own feature tests per module.""" + per_module = Counter() + entries = [(s, p) for s, p in ls_tree(repo, sha, cache) if p.startswith(RI_TEST_DIRS) and is_src(p)] + blobs = read_blobs(repo, [s for s, _ in entries], cache) + for sha_, path in entries: + n = len(TEST_PAT.findall(blobs.get(sha_, ""))) + if not n: + continue + segs = set(path.split("/")[1:-1]) + for name, aliases in RI_ALIASES.items(): + if aliases & segs: + per_module[name] += n + break + return per_module + + +VERSION = re.compile(r"^v(\d+)\.(\d+)(?:\.(\d+))?(?:-(.+))?$") + + +def version_key(tag): + """Sort key for v.[.][-
]; a pre-release sorts before its final release."""
+    major, minor, patch, pre = VERSION.match(tag).groups()
+    return int(major), int(minor), int(patch or 0), pre is None, pre or ""
+
+
+def next_release(last_tag):
+    """The lowest release milestone (v.) in eclipse-score/score after the latest tag."""
+    titles = [m["title"] for m in gh(f"/repos/{SCORE_REPO}/milestones?state=all&per_page=100")]
+    later = [t for t in titles if re.fullmatch(r"v\d+\.\d+", t) and version_key(t) > version_key(last_tag)]
+    if not later:
+        raise SystemExit(f"error: no release milestone after {last_tag} in {SCORE_REPO}; create it first")
+    return min(later, key=version_key)
+
+
+def release_pins(cache):
+    """Return [(label, {module: (repo, sha)})] oldest first, forecast last.
+
+    The pseudo-entries ``__score__`` and ``__ri__`` carry the platform and
+    reference_integration commits for the same release.
+    """
+    tags = [t["name"] for t in gh(f"/repos/{REF_INT}/tags?per_page=100")]
+    columns = []
+    for tag in sorted((t for t in tags if VERSION.match(t) and t != "v0.5.0-alpha"), key=version_key):
+        ref = resolve_tag(REF_INT, tag)
+        date = gh(f"/repos/{REF_INT}/commits/{ref}")["commit"]["committer"]["date"]
+        blob = gh(f"/repos/{REF_INT}/contents/known_good.json?ref={ref}")
+        flat = flatten(json.loads(base64.b64decode(blob["content"])))
+        columns.append((tag, date, ref, flat))
+
+    forecast = f"{next_release(columns[-1][0])} (forecast)"
+    local = flatten(json.loads((REPO_ROOT / "known_good.json").read_text(encoding="utf-8")))
+    head = git(REF_INT, cache, "rev-parse", "HEAD").stdout.decode().strip()
+    columns.append((forecast, None, head, local))
+
+    out = []
+    for tag, date, ri_sha, flat in columns:
+        resolved = {"__ri__": (REF_INT, ri_sha)}
+        for name, (repo, keys, _) in list(MODULES.items()) + [("__score__", (SCORE_REPO, [SCORE_KEY], []))]:
+            if repo is None:
+                continue
+            entry = next((flat[k] for k in keys if k in flat), None)
+            sha = entry.get("hash") if entry else None
+            if not sha and entry and entry.get("version"):
+                sha = resolve_tag(repo, f"v{entry['version']}") or resolve_tag(repo, entry["version"])
+            if not sha:
+                ensure_clone(repo, cache)
+                sha = (
+                    commit_before(repo, date)
+                    if date
+                    else git(repo, cache, "rev-parse", "main").stdout.decode().strip() or None
+                )
+            if sha:
+                resolved[name] = (repo, sha)
+        out.append((tag, resolved))
+    return out
+
+
+def nice_axis(peak):
+    """Round the axis maximum up to a readable step."""
+    base = 10 ** math.floor(math.log10(peak))
+    for mult in (0.1, 0.2, 0.25, 0.5, 1.0):
+        step = base * mult
+        if peak / step <= 10:
+            top = math.ceil(peak / step) * step
+            return int(top + step if top < peak * 1.04 else top), int(step)
+    return int(peak), int(base)
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser(description=__doc__)
+    parser.add_argument("--cache", type=Path, default=Path("/tmp/progress_overview_repos"))
+    parser.add_argument("--out", type=Path, default=DATA_FILE)
+    parser.add_argument("--collected", default=None, help="data collection date, default today")
+    args = parser.parse_args()
+    args.cache.mkdir(parents=True, exist_ok=True)
+
+    for repo, _, _ in MODULES.values():
+        if repo:
+            ensure_clone(repo, args.cache)
+    ensure_clone(SCORE_REPO, args.cache)
+
+    per_release = []
+    for label, resolved in release_pins(args.cache):
+        print(f"== {label}")
+        score_repo, score_sha = resolved["__score__"]
+        ri_int = ri_integration_tests(*resolved["__ri__"], args.cache)
+        totals = {}
+        for name, (_, _, fragments) in MODULES.items():
+            counts = Counter()
+
+            def score_ok(path, fragments=fragments, name=name):
+                if not any(f in path for f in fragments):
+                    return False
+                return not (name == "Communication" and SOMEIP in path)
+
+            counts.update(measure(score_repo, score_sha, args.cache, score_ok, with_code=False))
+            if name in resolved:
+                repo, sha = resolved[name]
+                counts.update(measure(repo, sha, args.cache))
+            counts["int_tests"] += ri_int[name]
+            totals[name] = counts
+            summary = " ".join(f"{m}={counts[m]:>7d}" for _, m, _, _ in CHARTS)
+            print(f"   {name:22s} {summary}")
+        per_release.append((label, totals))
+
+    from datetime import date
+
+    data = {
+        "data_collected": args.collected or date.today().isoformat(),
+        "module_colors": MODULE_COLORS,
+        "charts": {},
+    }
+    for key, metric, fname, title in CHARTS:
+        releases = [
+            {"name": label, "modules": {m: totals[m][metric] for m in MODULE_COLORS}} for label, totals in per_release
+        ]
+        peak = max(sum(r["modules"].values()) for r in releases)
+        axis_max, axis_step = nice_axis(peak)
+        data["charts"][key] = {
+            "file": fname,
+            "title": title,
+            "axis_max": axis_max,
+            "axis_step": axis_step,
+            "releases": releases,
+        }
+
+    args.out.write_text(json.dumps(data, indent=2) + "\n", encoding="utf-8")
+    print(f"\nwrote {args.out}")
+    print("now run scripts/progress_overview/generate_progress_charts.py")
+
+
+if __name__ == "__main__":
+    main()
diff --git a/scripts/progress_overview/generate_progress_charts.py b/scripts/progress_overview/generate_progress_charts.py
new file mode 100644
index 00000000000..608936b8d8a
--- /dev/null
+++ b/scripts/progress_overview/generate_progress_charts.py
@@ -0,0 +1,171 @@
+#!/usr/bin/env python3
+# *******************************************************************************
+# Copyright (c) 2026 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+"""Render the release-wide progress overview charts from ``progress_overview_data.json``.
+
+Every release is a stacked bar whose colour slots map to the contributing
+modules, so the per-module split is comparable across releases. Colours come
+from the shared ``module_colors`` map, which makes a module recognisable by the
+same colour in every chart. Within a bar the slots are ordered by size,
+largest at the bottom.
+"""
+
+import argparse
+import json
+from pathlib import Path
+from xml.sax.saxutils import escape
+
+REPO_ROOT = Path(__file__).resolve().parents[2]
+DATA_FILE = REPO_ROOT / "docs" / "s_core_v_1" / "releases" / "progress_overview_data.json"
+ASSET_DIR = REPO_ROOT / "docs" / "_assets"
+
+WIDTH = 880
+PLOT_LEFT = 90
+PLOT_RIGHT = 850
+PLOT_TOP = 56
+PLOT_BOTTOM = 300
+BAR_WIDTH = 82
+LABEL_Y = 322
+LEGEND_TOP = 348
+LEGEND_ROW_H = 20
+LEGEND_COLS = 3
+# segments thinner than this get no inline label, it would not fit
+MIN_LABEL_PX = 12
+
+
+def fmt(value: int) -> str:
+    return f"{value:,}"
+
+
+def bar_x(index: int, count: int) -> float:
+    span = (PLOT_RIGHT - PLOT_LEFT) / count
+    return PLOT_LEFT + span * index + (span - BAR_WIDTH) / 2
+
+
+def text(x: float, y: float, content: str, **attrs: str) -> str:
+    extra = "".join(f' {k.replace("_", "-")}="{v}"' for k, v in attrs.items())
+    return f'  {content}'
+
+
+def render(chart: dict, module_colors: dict) -> str:
+    releases = chart["releases"]
+    axis_max = int(chart["axis_max"])
+    axis_step = int(chart["axis_step"])
+    scale = (PLOT_BOTTOM - PLOT_TOP) / axis_max
+    title = escape(chart["title"])
+
+    contributing = [m for m in module_colors if any(r["modules"].get(m, 0) > 0 for r in releases)]
+    legend_rows = -(-len(contributing) // LEGEND_COLS)
+    height = LEGEND_TOP + legend_rows * LEGEND_ROW_H + 10
+
+    o = [
+        (
+            f''
+        ),
+        f"  {title}",
+        text(WIDTH // 2, 26, title, font_size="15", font_weight="bold"),
+        f'  ',
+        f'  ',
+        '  ',
+    ]
+    for tick in range(axis_step, axis_max + 1, axis_step):
+        y = round(PLOT_BOTTOM - tick * scale, 1)
+        o.append(f'    ')
+    o.append("  ")
+
+    o.append('  ')
+    for tick in range(0, axis_max + 1, axis_step):
+        y = round(PLOT_BOTTOM - tick * scale + 4, 1)
+        o.append(f'    {fmt(tick)}')
+    o.append("  ")
+
+    for i, release in enumerate(releases):
+        mods = release["modules"]
+        total = sum(mods.values())
+        x = round(bar_x(i, len(releases)), 1)
+        cx = round(x + BAR_WIDTH / 2, 1)
+        o.append(f"  ")
+        cursor = float(PLOT_BOTTOM)
+        # largest slot at the bottom; colour stays tied to the module either way
+        order = sorted(
+            (m for m in contributing if mods.get(m, 0) > 0),
+            key=lambda m: (-mods[m], contributing.index(m)),
+        )
+        for module in order:
+            value = mods[module]
+            h = value * scale
+            y = cursor - h
+            o.append(
+                f'  '
+                f"{escape(module)}: {fmt(value)}"
+            )
+            if h >= MIN_LABEL_PX:
+                o.append(
+                    text(
+                        cx,
+                        round(y + h / 2 + 3.5, 1),
+                        fmt(value),
+                        font_size="9",
+                        fill="#fff",
+                        font_weight="bold",
+                    )
+                )
+            cursor = y
+        o.append(text(cx, round(cursor - 6, 1), fmt(total), font_size="11", font_weight="bold"))
+        o.append(text(cx, LABEL_Y, escape(release["name"]), font_weight="bold", font_size="12"))
+
+    col_w = (PLOT_RIGHT - PLOT_LEFT) / LEGEND_COLS
+    o.append('  ')
+    for i, module in enumerate(contributing):
+        lx = round(PLOT_LEFT + (i % LEGEND_COLS) * col_w, 1)
+        ly = LEGEND_TOP + (i // LEGEND_COLS) * LEGEND_ROW_H
+        o.append(f'    ')
+        o.append(f'    {escape(module)}')
+    o.append("  ")
+    o.append("")
+    return "\n".join(o) + "\n"
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser(description=__doc__)
+    parser.add_argument("--data", type=Path, default=DATA_FILE)
+    parser.add_argument("--out-dir", type=Path, default=ASSET_DIR)
+    parser.add_argument(
+        "--check",
+        action="store_true",
+        help="fail instead of writing when a chart is out of date",
+    )
+    args = parser.parse_args()
+
+    data = json.loads(args.data.read_text(encoding="utf-8"))
+    stale = []
+    for chart in data["charts"].values():
+        svg = render(chart, data["module_colors"])
+        target = args.out_dir / chart["file"]
+        if args.check:
+            if not target.exists() or target.read_text(encoding="utf-8") != svg:
+                stale.append(target)
+            continue
+        target.write_text(svg, encoding="utf-8")
+        print(f"wrote {target.relative_to(REPO_ROOT)}")
+
+    if stale:
+        names = ", ".join(str(p.relative_to(REPO_ROOT)) for p in stale)
+        raise SystemExit(f"out of date: {names}\nrun scripts/progress_overview/generate_progress_charts.py")
+
+
+if __name__ == "__main__":
+    main()

From 17ba8f96a23b799cca5357b52a6237ce4cab6ad3 Mon Sep 17 00:00:00 2001
From: rmaddikery 
Date: Thu, 29 Oct 2026 12:22:20 +0100
Subject: [PATCH 06/80] Bumps score_logging to v0.2.5

- Fix patched after upstream deps update
- export mw/log aou_requirements.rst from baselibs for
score_logging consumption
---
 .../score_modules_target_sw.MODULE.bazel      |  3 ++-
 known_good.json                               |  5 ++--
 .../003-export-aou-requirements.patch         | 13 +++++++++++
 .../002-undev-component-test-deps.patch       | 23 +++++++++++++------
 4 files changed, 34 insertions(+), 10 deletions(-)
 create mode 100644 patches/baselibs/003-export-aou-requirements.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 9b254e54d7d..638b639878b 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -22,6 +22,7 @@ git_override(
     patches = [
         "//patches/baselibs:001-restore-trace-library-mock-visibility.patch",
         "//patches/baselibs:002-restore-qnx8-poll-workaround.patch",
+        "//patches/baselibs:003-export-aou-requirements.patch",
     ],
     remote = "https://github.com/eclipse-score/baselibs.git",
 )
@@ -73,7 +74,7 @@ git_override(
 bazel_dep(name = "score_logging")
 git_override(
     module_name = "score_logging",
-    commit = "3d9896611baf4e0d018032e5cb999941b2602dbd",
+    commit = "cda5a5ba57dffe3aa109e518e47f0ada692b3573",
     patch_strip = 1,
     patches = [
         "//patches/logging:002-undev-component-test-deps.patch",
diff --git a/known_good.json b/known_good.json
index 1c28a99d9c8..0668f64b460 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,7 +5,8 @@
                 "repo": "https://github.com/eclipse-score/baselibs.git",
                 "bazel_patches": [
                     "//patches/baselibs:001-restore-trace-library-mock-visibility.patch",
-                    "//patches/baselibs:002-restore-qnx8-poll-workaround.patch"
+                    "//patches/baselibs:002-restore-qnx8-poll-workaround.patch",
+                    "//patches/baselibs:003-export-aou-requirements.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/...",
@@ -192,7 +193,7 @@
                         "-//score/test/component/..."
                     ]
                 },
-                "hash": "3d9896611baf4e0d018032e5cb999941b2602dbd"
+                "hash": "cda5a5ba57dffe3aa109e518e47f0ada692b3573"
             },
             "score_time": {
                 "repo": "https://github.com/eclipse-score/time.git",
diff --git a/patches/baselibs/003-export-aou-requirements.patch b/patches/baselibs/003-export-aou-requirements.patch
new file mode 100644
index 00000000000..9380309f826
--- /dev/null
+++ b/patches/baselibs/003-export-aou-requirements.patch
@@ -0,0 +1,13 @@
+diff --git a/score/mw/log/BUILD b/score/mw/log/BUILD
+index 5af00a2..f359e8c 100644
+--- a/score/mw/log/BUILD
++++ b/score/mw/log/BUILD
+@@ -499,3 +499,8 @@ docs_bundle(
+     source_dir = "docs",
+     visibility = ["//visibility:public"],
+ )
++
++exports_files(
++    ["docs/safety_analysis/aou_requirements.rst"],
++    visibility = ["//visibility:public"],
++)
diff --git a/patches/logging/002-undev-component-test-deps.patch b/patches/logging/002-undev-component-test-deps.patch
index 251b6fb4a62..5c0204000a0 100644
--- a/patches/logging/002-undev-component-test-deps.patch
+++ b/patches/logging/002-undev-component-test-deps.patch
@@ -1,13 +1,13 @@
 diff --git a/MODULE.bazel b/MODULE.bazel
-index 45a6aafd..afd6a2aa 100644
+index 0c77eed..ffb29a4 100644
 --- a/MODULE.bazel
 +++ b/MODULE.bazel
-@@ -42,15 +42,15 @@ bazel_dep(name = "score_rust_policies", version = "0.0.5")
- bazel_dep(name = "score_process_description", version = "2.1.2")
+@@ -56,15 +56,15 @@ bazel_dep(name = "score_rust_policies", version = "0.0.5")
+ bazel_dep(name = "score_process_description", version = "2.2.1")
  bazel_dep(name = "score_platform", version = "0.7.2")
  
--bazel_dep(name = "score_itf", version = "0.5.0", dev_dependency = True)
-+bazel_dep(name = "score_itf", version = "0.5.0")
+-bazel_dep(name = "score_itf", version = "0.6.0", dev_dependency = True)
++bazel_dep(name = "score_itf", version = "0.6.0")
  
  # OCI / Docker image rules for integration tests
 -bazel_dep(name = "rules_oci", version = "2.2.7", dev_dependency = True)
@@ -21,7 +21,7 @@ index 45a6aafd..afd6a2aa 100644
  
  imagefs = use_extension("@score_rules_imagefs//extensions:imagefs.bzl", "imagefs", dev_dependency = True)
  imagefs.toolchain(
-@@ -75,7 +75,7 @@ use_repo(
+@@ -89,7 +89,7 @@ use_repo(
      "score_qnx_x86_64_ifs_toolchain",
  )
  
@@ -30,8 +30,17 @@ index 45a6aafd..afd6a2aa 100644
  oci.pull(
      name = "ubuntu_24_04",
      digest = "sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30",
+@@ -107,7 +107,7 @@ bazel_dep(name = "score_toolchains_rust", version = "0.10.0", dev_dependency = T
+ bazel_dep(name = "score_crates", version = "0.0.11")
+ 
+ # TRLC dependency for requirements traceability
+-bazel_dep(name = "trlc", version = "0.0.0", dev_dependency = True)
++bazel_dep(name = "trlc", version = "0.0.0")
+ git_override(
+     module_name = "trlc",
+     commit = "8f369f1208598c2e75f44a77a98d244634ed482a",  # trlc-3.0.1 (score_tooling >= 2.x needs trlc 3.x)
 diff --git a/score/test/component/defs.bzl b/score/test/component/defs.bzl
-index 665f891a..0177a698 100644
+index 665f891..0177a69 100644
 --- a/score/test/component/defs.bzl
 +++ b/score/test/component/defs.bzl
 @@ -66,7 +66,6 @@ def py_logging_itf_test(name, srcs, filesystem, filesystem_pkg, extra_oci_tars =

From 1ec2a9d554153c3722bd2075f451eac47c94487e Mon Sep 17 00:00:00 2001
From: Leonardo Rossetti 
Date: Thu, 29 Oct 2026 10:17:54 -0300
Subject: [PATCH 07/80] push autosd image on release (#413) (#424)

Signed-off-by: odra 
---
 .github/workflows/build_and_test_autosd.yml | 35 +++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/.github/workflows/build_and_test_autosd.yml b/.github/workflows/build_and_test_autosd.yml
index 8e060fea428..c704c9f3abf 100644
--- a/.github/workflows/build_and_test_autosd.yml
+++ b/.github/workflows/build_and_test_autosd.yml
@@ -12,6 +12,8 @@
 # *******************************************************************************
 name: AutoSD - Build & Integration Test
 on:
+  release:
+    types: [created]
   pull_request:
     types: [opened, reopened, synchronize]
   merge_group:
@@ -112,6 +114,39 @@ jobs:
           sleep 5
           sshcmd 'bootc status'
           sshcmd '/showcases/bin/cli --examples all'
+          sshcmd 'rm -f /tmp/score_showcases_autosd_latest.oci'
         working-directory: ./images/autosd
         env:
           SSH_PASSWORD: password
+      - name: Archive Modified Image
+        run: |
+          xz disk.qcow2
+          mv disk.qcow2.xz eclipse-autosd-bootc-qemu-${{ matrix.platform }}.qcow2.xz
+        working-directory: ./images/autosd
+      - name: Store Image
+        uses: actions/upload-artifact@v4
+        with:
+          name: eclipse-autosd-bootc-qemu-${{ matrix.platform }}.qcow2.xz
+          path: images/autosd/eclipse-autosd-bootc-qemu-${{ matrix.platform }}.qcow2.xz
+  release:
+    name: Publish image to release
+    needs: build
+    if: github.event_name == 'release'
+    runs-on: ubuntu-24.04
+    permissions:
+      contents: write
+    env:
+      RELEASE_NAME: ${{ github.event.release.tag_name }}
+    steps:
+      - name: Download archived image artifact
+        uses: actions/download-artifact@v4
+        with:
+          name: eclipse-autosd-bootc-qemu-x86_64.qcow2.xz
+          path: ./release-assets
+      - name: Upload image to release
+        env:
+          GH_TOKEN: ${{ github.token }}
+        run: |
+          gh release upload "$RELEASE_NAME" \
+            ./release-assets/eclipse-autosd-bootc-qemu-x86_64.qcow2.xz \
+            --clobber

From 3193244cf668314bbf37f791a623549c4a298fda Mon Sep 17 00:00:00 2001
From: Arkadiusz Jedrzejewski 
Date: Thu, 29 Oct 2026 15:57:37 +0100
Subject: [PATCH 08/80] score_persistency: bump to current main

---
 known_good.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/known_good.json b/known_good.json
index 0668f64b460..491320dc7f6 100644
--- a/known_good.json
+++ b/known_good.json
@@ -109,7 +109,7 @@
                         "//:unit_tests"
                     ]
                 },
-                "hash": "a804b85f67381378b2250abaa91e0a3a6046e994"
+                "hash": "41d76090c7d0b05068cdc5bb22ef2e9f3571906a"
             },
             "score_kyron": {
                 "repo": "https://github.com/eclipse-score/kyron.git",

From a3e02fcd465b0fb68d42c37bd9bd111473b88b8e Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Thu, 29 Oct 2026 14:59:06 +0000
Subject: [PATCH 09/80] Bump process_description 2.2.2, platform 0.7.4,
 docs-as-code 8.6.0, lifecycle 0.9.0

Persistency a804b85 (bumped in cb89c10) expects score_platform 0.7.4 and
score_process_description 2.2.2 (feat_req version 2,
feat_req__persistency__cfg_priority, wp__module_user_manual,
gd_temp__rel_mod_user_manual). The previous pins were platform v0.7.2 and
process_description v2.1.2, which caused 12 docs-check warnings.

- score_process_description, score_platform and score_docs_as_code are now
  pinned to released registry versions (pin_version) instead of git commits.
- score_platform 0.7.4 drops lifecycle feat_reqs that lifecycle 85da216 still
  linked (33 warnings), so score_lifecycle moves to v0.9.0 (2c3a919), which
  targets exactly platform 0.7.4 / process_description 2.2.2 / docs-as-code
  8.6.0.
- Lifecycle v0.9.0 no longer has its own glossary, so the platform patch
  removing the duplicated lifecycle glossary is obsolete (it would now hide
  the 'Monitoring of Processes' term). Removed.
- patches/lifecycle/001 is already upstream in v0.9.0; removed.
  patches/lifecycle/002 rebased: score_itf is non-dev upstream, only the oci
  extension still needs un-deving.
- Lifecycle's verification report moved to
  verification_report/module_verification_report (mod_ver_report); link
  updated in docs/verification_report/modules/index.rst.

Local docs_shim build: the persistency and lifecycle warnings are gone; the
remaining warnings are the logging v0.2.5 ones (31 mounts.path_escape, 2
absolute :doc: links).

Also regenerates bazel_common/score_modules_target_sw.MODULE.bazel for the
preceding persistency bump (3193244), which only touched known_good.json.
---
 MODULE.bazel.lock                             |   6 +
 .../score_modules_target_sw.MODULE.bazel      |   5 +-
 .../score_modules_tooling.MODULE.bazel        |  19 +--
 docs/verification_report/modules/index.rst    |   4 +-
 known_good.json                               |  15 +-
 .../001-migrate-baselibs-rust-targets.patch   |  92 ------------
 .../002-undev-integration-test-deps.patch     |   8 +-
 ...-remove-duplicate-lifecycle-glossary.patch | 132 ------------------
 patches/platform/BUILD                        |   0
 9 files changed, 25 insertions(+), 256 deletions(-)
 delete mode 100644 patches/lifecycle/001-migrate-baselibs-rust-targets.patch
 delete mode 100644 patches/platform/001-remove-duplicate-lifecycle-glossary.patch
 delete mode 100644 patches/platform/BUILD

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 0540baff444..369a0261647 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1006,10 +1006,16 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.16.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.18.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/source.json": "a5ed01a942535f7042e89ef5f586542f5367af83b6e58f91d2689f02a7e16fc6",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/2.0.2/MODULE.bazel": "6d2b227bb6880e9f6871cc8cf94c83399e35c188424f7e9b826262de8149ed43",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/2.0.2/source.json": "5ae55f0dabcddeb5bfae16ce480e2c065f907d2b0ed6a8e4ed7409b259b004ee",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process_description/2.2.2/MODULE.bazel": "b0fd319ef2bed02e26307f2336f967d4d4885ab0538c44605a589797d973c803",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process_description/2.2.2/source.json": "8b974430c3e2023a7534412e2bc03bced4eef9838f3b573739b7652fd26b335c",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/MODULE.bazel": "aaffff67916dd058737aac8e04368f12b214e7646ff58adbab48e6429d1a5410",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/source.json": "c40a614fd88beab7cb65b8640debd44eff3fbc32a7839734ef1112f265d2eeef",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.3/MODULE.bazel": "d87fcd3485438284fa96d6a5a81923d6b6672468947423517cc43c4d7692ca6a",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 638b639878b..c23c931d119 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -44,7 +44,7 @@ git_override(
 bazel_dep(name = "score_persistency")
 git_override(
     module_name = "score_persistency",
-    commit = "a804b85f67381378b2250abaa91e0a3a6046e994",
+    commit = "41d76090c7d0b05068cdc5bb22ef2e9f3571906a",
     patch_strip = 1,
     patches = [
         "//patches/persistency:003-undev-deps-for-root-module.patch",
@@ -62,10 +62,9 @@ git_override(
 bazel_dep(name = "score_lifecycle")
 git_override(
     module_name = "score_lifecycle",
-    commit = "85da2168328d17a3cf53791ebf93534e5ed921fc",
+    commit = "2c3a919452b0f81a016c6c8783254d7d0189d0a9",
     patch_strip = 1,
     patches = [
-        "//patches/lifecycle:001-migrate-baselibs-rust-targets.patch",
         "//patches/lifecycle:002-undev-integration-test-deps.patch",
     ],
     remote = "https://github.com/eclipse-score/lifecycle.git",
diff --git a/bazel_common/score_modules_tooling.MODULE.bazel b/bazel_common/score_modules_tooling.MODULE.bazel
index 5fc32bac29d..94a6b65f67c 100644
--- a/bazel_common/score_modules_tooling.MODULE.bazel
+++ b/bazel_common/score_modules_tooling.MODULE.bazel
@@ -42,14 +42,9 @@ git_override(
 )
 
 bazel_dep(name = "score_platform")
-git_override(
+single_version_override(
     module_name = "score_platform",
-    commit = "6d65a262c2329328cb9cbdd276bb143b417c54a4",
-    patch_strip = 1,
-    patches = [
-        "//patches/platform:001-remove-duplicate-lifecycle-glossary.patch",
-    ],
-    remote = "https://github.com/eclipse-score/score.git",
+    version = "0.7.4",
 )
 
 bazel_dep(name = "score_bazel_platforms")
@@ -66,17 +61,15 @@ single_version_override(
 )
 
 bazel_dep(name = "score_docs_as_code")
-git_override(
+single_version_override(
     module_name = "score_docs_as_code",
-    commit = "f1b30375e49646d95ca52565c41f5b926b0aa884",
-    remote = "https://github.com/eclipse-score/docs-as-code.git",
+    version = "8.6.0",
 )
 
 bazel_dep(name = "score_process_description")
-git_override(
+single_version_override(
     module_name = "score_process_description",
-    commit = "98d1d5f42dad412a09a888ea25e59c62fa6371ce",
-    remote = "https://github.com/eclipse-score/process_description.git",
+    version = "2.2.2",
 )
 
 bazel_dep(name = "score_bazel_cpp_toolchains")
diff --git a/docs/verification_report/modules/index.rst b/docs/verification_report/modules/index.rst
index 4daddeff330..cc7c20951c2 100644
--- a/docs/verification_report/modules/index.rst
+++ b/docs/verification_report/modules/index.rst
@@ -18,7 +18,7 @@ Module Verification Reports
 This page lists the per-module verification reports.
 
 * :doc:`Baselibs `
-* :doc:`Lifecycle `
+* :doc:`Lifecycle `
 * :doc:`Logging `
 * :doc:`Persistency `
 
@@ -27,6 +27,6 @@ This page lists the per-module verification reports.
    :hidden:
 
    Baselibs 
-   Lifecycle 
+   Lifecycle 
    Logging 
    Persistency 
diff --git a/known_good.json b/known_good.json
index 491320dc7f6..579f45c4bb4 100644
--- a/known_good.json
+++ b/known_good.json
@@ -130,7 +130,6 @@
             "score_lifecycle": {
                 "repo": "https://github.com/eclipse-score/lifecycle.git",
                 "bazel_patches": [
-                    "//patches/lifecycle:001-migrate-baselibs-rust-targets.patch",
                     "//patches/lifecycle:002-undev-integration-test-deps.patch"
                 ],
                 "metadata": {
@@ -160,7 +159,7 @@
                         "//..."
                     ]
                 },
-                "hash": "85da2168328d17a3cf53791ebf93534e5ed921fc"
+                "hash": "2c3a919452b0f81a016c6c8783254d7d0189d0a9"
             },
             "score_logging": {
                 "repo": "https://github.com/eclipse-score/logging.git",
@@ -287,10 +286,8 @@
             },
             "score_platform": {
                 "repo": "https://github.com/eclipse-score/score.git",
-                "hash": "6d65a262c2329328cb9cbdd276bb143b417c54a4",
-                "bazel_patches": [
-                    "//patches/platform:001-remove-duplicate-lifecycle-glossary.patch"
-                ]
+                "version": "0.7.4",
+                "pin_version": true
             },
             "score_bazel_platforms": {
                 "repo": "https://github.com/eclipse-score/bazel_platforms.git",
@@ -305,11 +302,13 @@
             },
             "score_docs_as_code": {
                 "repo": "https://github.com/eclipse-score/docs-as-code.git",
-                "hash": "f1b30375e49646d95ca52565c41f5b926b0aa884"
+                "version": "8.6.0",
+                "pin_version": true
             },
             "score_process_description": {
                 "repo": "https://github.com/eclipse-score/process_description.git",
-                "hash": "98d1d5f42dad412a09a888ea25e59c62fa6371ce"
+                "version": "2.2.2",
+                "pin_version": true
             },
             "score_bazel_cpp_toolchains": {
                 "repo": "https://github.com/eclipse-score/bazel_cpp_toolchains.git",
diff --git a/patches/lifecycle/001-migrate-baselibs-rust-targets.patch b/patches/lifecycle/001-migrate-baselibs-rust-targets.patch
deleted file mode 100644
index fabadf7d25a..00000000000
--- a/patches/lifecycle/001-migrate-baselibs-rust-targets.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/examples/rust_supervised_app/BUILD b/examples/rust_supervised_app/BUILD
-index 9738ceb0b7..2dff53f79c 100644
---- a/examples/rust_supervised_app/BUILD
-+++ b/examples/rust_supervised_app/BUILD
-@@ -36,8 +36,8 @@ rust_binary(
-     deps = [
-         "//score/health_monitor:health_monitoring_rust",
-         "//score/launch_manager:lifecycle_rust",
--        "@score_baselibs//src/log/score_log",
--        "@score_baselibs//src/log/stdout_logger",
-+        "@score_baselibs//score/log_rust/score_log",
-+        "@score_baselibs//score/log_rust/stdout_logger",
-         "@score_crates//:clap",
-         "@score_crates//:libc",
-         "@score_crates//:signal_hook",
-diff --git a/score/health_monitor/src/rust/BUILD b/score/health_monitor/src/rust/BUILD
-index 44ab61c9e2..15b09001f1 100644
---- a/score/health_monitor/src/rust/BUILD
-+++ b/score/health_monitor/src/rust/BUILD
-@@ -14,14 +14,14 @@
- load("@rules_rust//rust:defs.bzl", "miri_test", "rust_library", "rust_static_library", "rust_test")
- 
- COMMON_RUST_DEPS = [
--    "@score_baselibs//src/containers:containers",
--    "@score_baselibs//src/thread:thread",
--    "@score_baselibs//src/log/score_log:score_log",
-+    "@score_baselibs//score/containers_rust:containers",
-+    "@score_baselibs//score/thread",
-+    "@score_baselibs//score/log_rust/score_log",
-     "//score/launch_manager:alive_rust",
- ]
- 
- PROC_MACRO_DEPS = [
--    "@score_baselibs//src/testing_macros:score_testing_macros",
-+    "@score_baselibs//score/testing_macros:score_testing_macros",
- ]
- 
- rust_library(
-@@ -78,7 +78,7 @@ rust_test(
-         "//config:unit_host": ["@platforms//os:linux"],  # see https://github.com/eclipse-score/lifecycle/issues/272
-         "//conditions:default": ["@platforms//:incompatible"],
-     }),
--    deps = ["@score_baselibs//src/log/stdout_logger"],
-+    deps = ["@score_baselibs//score/log_rust/stdout_logger"],
- )
- 
- rust_test(
-@@ -110,7 +110,7 @@ rust_test(
-         "//conditions:default": ["@platforms//:incompatible"],
-     }),
-     deps = [
--        "@score_baselibs//src/log/stdout_logger",
-+        "@score_baselibs//score/log_rust/stdout_logger",
-         "@score_crates//:loom",
-     ],
- )
-diff --git a/examples/cpp_supervised_app/BUILD b/examples/cpp_supervised_app/BUILD
-index 984f359388..320e13240d 100644
---- a/examples/cpp_supervised_app/BUILD
-+++ b/examples/cpp_supervised_app/BUILD
-@@ -34,6 +34,6 @@ cc_binary(
-     deps = [
-         "//score/health_monitor:health_monitoring_cc",
-         "//score/launch_manager:lifecycle_cc",
--        "@score_baselibs//src/log/stdout_logger_cpp_init",
-+        "@score_baselibs//score/log_rust/stdout_logger_cpp_init",
-     ],
- )
-diff --git a/score/health_monitor/src/cpp/details/BUILD b/score/health_monitor/src/cpp/details/BUILD
-index 6dbd9e45fa..7ccfa29283 100644
---- a/score/health_monitor/src/cpp/details/BUILD
-+++ b/score/health_monitor/src/cpp/details/BUILD
-@@ -19,6 +19,6 @@ cc_library(
-     visibility = ["//score/health_monitor/src/cpp:__pkg__"],
-     deps = [
-         "@googletest//:gtest",
--        "@score_baselibs//src/log/stdout_logger_cpp_init",
-+        "@score_baselibs//score/log_rust/stdout_logger_cpp_init",
-     ],
- )
-diff --git a/tests/integration/complex_monitoring/BUILD b/tests/integration/complex_monitoring/BUILD
-index 15306f47ec..7467efa724 100644
---- a/tests/integration/complex_monitoring/BUILD
-+++ b/tests/integration/complex_monitoring/BUILD
-@@ -42,6 +42,6 @@ cc_binary(
-         "//score/launch_manager:lifecycle_cc",
-         "//tests/utils/test_helper",
-         "@googletest//:gtest_main",
--        "@score_baselibs//src/log/stdout_logger_cpp_init",
-+        "@score_baselibs//score/log_rust/stdout_logger_cpp_init",
-     ],
- )
diff --git a/patches/lifecycle/002-undev-integration-test-deps.patch b/patches/lifecycle/002-undev-integration-test-deps.patch
index 532eb7fc2dd..e33886c8517 100644
--- a/patches/lifecycle/002-undev-integration-test-deps.patch
+++ b/patches/lifecycle/002-undev-integration-test-deps.patch
@@ -1,13 +1,9 @@
 diff --git a/MODULE.bazel b/MODULE.bazel
-index 721aacc9e..f7726c220 100644
 --- a/MODULE.bazel
 +++ b/MODULE.bazel
-@@ -174,9 +174,9 @@ pip.parse(
- )
- use_repo(pip, "score_lifecycle_pip")
+@@ -303,7 +303,7 @@ use_repo(pip, "codeql_coding_standards_pip_hub")
  
--bazel_dep(name = "score_itf", version = "0.5.0", dev_dependency = True)
-+bazel_dep(name = "score_itf", version = "0.5.0")
+ bazel_dep(name = "score_itf", version = "0.6.0")
  
 -oci = use_extension("@rules_oci//oci:extensions.bzl", "oci", dev_dependency = True)
 +oci = use_extension("@rules_oci//oci:extensions.bzl", "oci")
diff --git a/patches/platform/001-remove-duplicate-lifecycle-glossary.patch b/patches/platform/001-remove-duplicate-lifecycle-glossary.patch
deleted file mode 100644
index 19c9f57f16f..00000000000
--- a/patches/platform/001-remove-duplicate-lifecycle-glossary.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff --git a/docs/features/lifecycle/glossary.rst b/docs/features/lifecycle/glossary.rst
---- a/docs/features/lifecycle/glossary.rst
-+++ b/docs/features/lifecycle/glossary.rst
-@@ -15,123 +15,8 @@
- Lifecycle Glossary
- ==================
- 
--.. glossary::
--    Lifecycle Feature
--      Feature providing support for starting and stopping processes.
--
--    Launch Manager
--      Component to start and stop processes on a POSIX like operating system.
--
--    Health Monitor
--      Provides process local monitoring functionalities such as deadline monitoring
--      and logical program flow monitoring.
--
--    Control Interface
--      Interface to control the lifecycle of the system, e.g. to start and stop processes.
--
--    Alive Interface
--      Interface to monitor the aliveness of a process.
--
--    Sandbox
--      A sandbox is a set of configurations, which are applied to a process when it
--      is started. It can include environment variables, secpol policies, cgroup
--      configurations, user and group IDs etc.
--
--    Health Monitor Interface
--      Interface to monitor the health of a process, e.g. to check if a process is
--      alive or if it is running as expected.
--
--    Alive Monitoring
--      Checks if an application reports an alive state in a certain period.
--
--    Deadline Monitoring
--      Monitor to detect if a state was reached within a specified time related to
--      another event.
--
--    Logical Programflow Monitoring
--      Monitor to detect if certain states were reached in a defined sequence and
--      time interval.
--
--    Run State
--      An Run State defines a set of components, which are in status running
--      and are supervised by the software platform. If the health management system
--      detects abnormal situation it can change the :term:`Run State`.
--
--    Component
--      A configurable unit in the Launch Manager that describes an executable and its runtime environment (sandbox). Components can be grouped together in Run Targets to define system operational states.
--
--    Ready State
--      A state when the component is ready to provide services to other components.
--
--    Dependency (between components)
--      A configuration parameter indicating that **Component A** can only start
--      after **Component B** has reached its :term:`Ready State`. In this case,
--      **Component A** depends on **Component B**.
--
--    Dependency (between run targets)
--      A configuration parameter indicating that **Run Target A** includes all
--      components from **Run Target B**. In this case, **Run Target A** depends
--      on **Run Target B**.
--
--    Lifecycle Component
--      Node of the dependency tree.
--
--    Process
--      Instantiation of an Executable programs running on the system that are managed by the Launch Manager.
--
--    UID
--      User Identifier - a unique number assigned to each user on a Unix-like operating system.
--
--    GID
--      Group Identifier - a unique number assigned to each group on a Unix-like operating system.
--
--    Polling Interval
--      The time interval between successive checks of a condition or status.
--
--    Working Directory
--      The current directory from which a process is executed, also known as CWD (Current Working Directory).
--
--    File Descriptor
--      A handle used by a process to access files or other input/output resources.
--
--    Procmgr
--      Process Manager - a QNX system component that manages process creation and execution.
--
--    ASLR
--      Address Space Layout Randomization - a security technique that randomizes the memory layout of processes.
--
--    Recovery Action
--      Actions taken by the Launch Manager when a process fails or terminates abnormally.
--
--    Ready Condition
--      A configurable condition that must be satisfied before a component is considered ready and operational. Ready conditions can include file system checks, network availability, or custom application-specific signals.
--
--      Ready conditions can either be reported by the component itself through the Lifecycle Interface or determined via external state monitoring. External state examples include: process started, file is available, socket was opened, or that the process finished successfully.
--
--    Liveliness
--      The state indicating that a process is active and responding as expected.
--
--    Watchdog
--      A monitoring mechanism that detects system failures and can trigger recovery actions.
--
--    Interval
--      A period of time between events or measurements.
--
--    QNX
--      A real-time operating system commonly used in embedded systems.
--
--
--    DSS
--      Device Safe State - a safe operational state that a system can enter during failures.
--
--    DAG
--      Directed Acyclic Graph - a data structure used to represent dependencies between processes.
--
--    SWC
--      Software Components - modular software units that can be independently managed.
--
--    Run target
--      A named collection of processes and their dependencies that can be launched, stopped, or switched as a group to achieve a specific operational mode or configuration.
--
--    Operating System
--      The system software that manages computer hardware and software resources and provides common services for computer programs.
-+.. note::
-+   This glossary previously duplicated content now maintained in the
-+   ``score_lifecycle`` repository (`eclipse-score/lifecycle
-+   `_). See its own
-+   ``docs/features/lifecycle/glossary.rst`` for the current definitions.
diff --git a/patches/platform/BUILD b/patches/platform/BUILD
deleted file mode 100644
index e69de29bb2d..00000000000

From a575ce6982f0d73ed759462f25f29d2d39ab7627 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Thu, 29 Oct 2026 15:26:59 +0000
Subject: [PATCH 10/80] simple_lifecycle: migrate Launch Manager config to
 lifecycle v0.9.0 schema

lifecycle v0.9.0 renamed all duration fields to integer milliseconds
(*_ms). The old keys fail schema validation in launch_manager_config:
"Additional properties are not allowed ('transition_timeout' was unexpected)".

delay_before_restart 0.5 -> delay_before_restart_ms 500
reporting_cycle 0.1      -> reporting_cycle_ms 100
transition_timeout 5     -> transition_timeout_ms 5000
transition_timeout 1.5   -> transition_timeout_ms 1500 (fallback run target)
evaluation_cycle 0.5     -> evaluation_cycle_ms 500 (defaults and global)
---
 .../configs/launch_manager_config.json               | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/showcases/simple_lifecycle/configs/launch_manager_config.json b/showcases/simple_lifecycle/configs/launch_manager_config.json
index 1f9e1b87539..08ce602d41c 100644
--- a/showcases/simple_lifecycle/configs/launch_manager_config.json
+++ b/showcases/simple_lifecycle/configs/launch_manager_config.json
@@ -6,7 +6,7 @@
             "ready_recovery_action": {
                 "restart": {
                     "number_of_attempts": 1,
-                    "delay_before_restart": 0.5
+                    "delay_before_restart_ms": 500
                 }
             },
             "sandbox": {
@@ -22,7 +22,7 @@
                 "application_type": "Reporting",
                 "is_self_terminating": false,
                 "alive_supervision": {
-                    "reporting_cycle": 0.1,
+                    "reporting_cycle_ms": 100,
                     "min_indications": 1,
                     "max_indications": 3,
                     "failed_cycles_tolerance": 1
@@ -35,7 +35,7 @@
             }
         },
         "run_target": {
-            "transition_timeout": 5,
+            "transition_timeout_ms": 5000,
             "recovery_action": {
                 "switch_run_target": {
                     "run_target": "fallback_run_target"
@@ -43,7 +43,7 @@
             }
         },
         "alive_supervision" : {
-            "evaluation_cycle": 0.5
+            "evaluation_cycle_ms": 500
         }
     },
     "components": {
@@ -112,9 +112,9 @@
     "fallback_run_target": {
         "description": "Switching off everything",
         "depends_on": ["state_manager"],
-        "transition_timeout": 1.5
+        "transition_timeout_ms": 1500
     },
     "alive_supervision" : {
-        "evaluation_cycle": 0.5
+        "evaluation_cycle_ms": 500
     }
 }
\ No newline at end of file

From 03a369b0acdba98a61fba9948d57484bc1440df6 Mon Sep 17 00:00:00 2001
From: Andrey Babanin 
Date: Thu, 29 Oct 2026 17:39:44 +0100
Subject: [PATCH 11/80] Bump baselibs to 0.2.16

---
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 5 +----
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index c23c931d119..86f102f43e0 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -15,16 +15,15 @@
 # Do not edit manually - use scripts/known_good/update_module_from_known_good.py --known known_good.json --output-dir-modules bazel_common
 
 bazel_dep(name = "score_baselibs")
-git_override(
+single_version_override(
     module_name = "score_baselibs",
-    commit = "ee40fece5abacb28ea641b448446a04175038b17",
     patch_strip = 1,
     patches = [
         "//patches/baselibs:001-restore-trace-library-mock-visibility.patch",
         "//patches/baselibs:002-restore-qnx8-poll-workaround.patch",
         "//patches/baselibs:003-export-aou-requirements.patch",
     ],
-    remote = "https://github.com/eclipse-score/baselibs.git",
+    version = "0.2.16",
 )
 
 bazel_dep(name = "score_communication")
diff --git a/known_good.json b/known_good.json
index 579f45c4bb4..8dc18e64d8d 100644
--- a/known_good.json
+++ b/known_good.json
@@ -10,9 +10,6 @@
                 ],
                 "metadata": {
                     "code_root_path": "//score/...",
-                    "extra_test_config": [
-                        "@score_baselibs//score/json:base_library=nlohmann"
-                    ],
                     "exclude_test_targets": [
                         "//score/language/safecpp/aborts_upon_exception:abortsuponexception_toolchain_test",
                         "//score/containers:dynamic_array_test",
@@ -38,7 +35,7 @@
                         "//..."
                     ]
                 },
-                "hash": "ee40fece5abacb28ea641b448446a04175038b17"
+                "version": "0.2.16"
             },
             "score_communication": {
                 "repo": "https://github.com/eclipse-score/communication.git",

From 2b94076692700d3cef971ef8cc631407f07e7cdd Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:08:39 +0000
Subject: [PATCH 12/80] Refresh MODULE.bazel.lock for score_baselibs 0.2.16

03a369b switched score_baselibs to the registry version 0.2.16 without
updating the lockfile, so every job using --lockfile_mode=error failed with
"Missing checksum for registry file .../score_baselibs/0.2.16/MODULE.bazel".

Generated with: bazel mod deps --lockfile_mode=update
---
 MODULE.bazel.lock | 1556 +++++++++++++++++++++++++--------------------
 1 file changed, 868 insertions(+), 688 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 369a0261647..30203a583c9 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -14,17 +14,23 @@
     "https://bcr.bazel.build/modules/abseil-cpp/20240722.0/MODULE.bazel": "88668a07647adbdc14cb3a7cd116fb23c9dda37a90a1681590b6c9d8339a5b84",
     "https://bcr.bazel.build/modules/abseil-cpp/20250127.0/MODULE.bazel": "d1086e248cda6576862b4b3fe9ad76a214e08c189af5b42557a6e1888812c5d5",
     "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1",
+    "https://bcr.bazel.build/modules/abseil-cpp/20250512.0/MODULE.bazel": "c4d02dd22cd87458516655a45512060246ee2a4732f1fbe948a5bd9eb614e626",
     "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215",
-    "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/source.json": "d725d73707d01bb46ab3ca59ba408b8e9bd336642ca77a2269d4bfb8bbfd413d",
+    "https://bcr.bazel.build/modules/abseil-cpp/20250814.0/MODULE.bazel": "c43c16ca2c432566cdb78913964497259903ebe8fb7d9b57b38e9f1425b427b8",
+    "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2",
+    "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c",
     "https://bcr.bazel.build/modules/abseil-py/2.1.0/MODULE.bazel": "5ebe5bf853769c65707e5c28f216798f7a4b1042015e6a36e6d03094d94bec8a",
     "https://bcr.bazel.build/modules/abseil-py/2.1.0/source.json": "0e8fc4f088ce07099c1cd6594c20c7ddbb48b4b3c0849b7d94ba94be88ff042b",
     "https://bcr.bazel.build/modules/ape/1.0.1/MODULE.bazel": "37411cfd13bfc28cd264674d660a3ecb3b5b35b9dbe4c0b2be098683641b3fee",
     "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896",
     "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85",
     "https://bcr.bazel.build/modules/apple_support/1.17.1/MODULE.bazel": "655c922ab1209978a94ef6ca7d9d43e940cd97d9c172fb55f94d91ac53f8610b",
+    "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e",
+    "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1",
     "https://bcr.bazel.build/modules/apple_support/1.22.1/MODULE.bazel": "90bd1a660590f3ceffbdf524e37483094b29352d85317060b2327fff8f3f4458",
     "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442",
     "https://bcr.bazel.build/modules/apple_support/1.24.1/MODULE.bazel": "f46e8ddad60aef170ee92b2f3d00ef66c147ceafea68b6877cb45bd91737f5f8",
+    "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4",
     "https://bcr.bazel.build/modules/apple_support/2.8.0/MODULE.bazel": "c45f5176057092afba0be6c48a9ea02101666802f8be536947e099e94757f8ed",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/MODULE.bazel": "fb209b83ed172af587419acb3340389cfe3260669e5f1c05e1ac3974aca614e0",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/source.json": "247d9f86d94c546533fb01e6e18b018486f9a6dff5faccae8838ef12e659b2a7",
@@ -44,7 +50,8 @@
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838",
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "66baf724dbae7aff4787bf2245cc188d50cb08e07789769730151c0943587c14",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "77dc393c43ad79398b05865444c5200c6f1aae6765615544f2c7730b5858d533",
-    "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/source.json": "062b1d3dba8adcfeb28fe60c185647f5a53ec0487ffe93cf0ae91566596e4b49",
+    "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/MODULE.bazel": "9b437a9ec25a619304940434fa03b8d41248213eb7009da2c898f3d6a4075ef3",
+    "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/source.json": "7b4cac4e61bae4262e7f67f6bec0b200fcb9060044f12e84a3bc37e0be245de7",
     "https://bcr.bazel.build/modules/aspect_rules_js/1.33.1/MODULE.bazel": "db3e7f16e471cf6827059d03af7c21859e7a0d2bc65429a3a11f005d46fc501b",
     "https://bcr.bazel.build/modules/aspect_rules_js/1.40.0/MODULE.bazel": "01a1014e95e6816b68ecee2584ae929c7d6a1b72e4333ab1ff2d2c6c30babdf1",
     "https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5",
@@ -60,6 +67,7 @@
     "https://bcr.bazel.build/modules/aspect_rules_py/1.5.2/source.json": "020d2bd6b07210cee97226ee2215d80c4cf91e455a6702c9af1e5788d072e673",
     "https://bcr.bazel.build/modules/aspect_rules_ts/3.6.0/MODULE.bazel": "d0045b5eabb012be550a609589b3e5e47eba682344b19cfd9365d4d896ed07df",
     "https://bcr.bazel.build/modules/aspect_rules_ts/3.6.0/source.json": "5593e3f1cd0dd5147f7748e163307fd5c2e1077913d6945b58739ad8d770a290",
+    "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.6/MODULE.bazel": "cafb8781ad591bc57cc765dca5fefab08cf9f65af363d162b79d49205c7f8af7",
     "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679",
     "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/source.json": "786cbc49377fb6bf4859aec5b1c61f8fc26b08e9fdb929e2dde2e1e2a406bd24",
     "https://bcr.bazel.build/modules/bazel_features/0.1.0/MODULE.bazel": "47011d645b0f949f42ee67f2e8775188a9cf4a0a1528aa2fa4952f2fd00906fd",
@@ -81,7 +89,9 @@
     "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9",
     "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87",
     "https://bcr.bazel.build/modules/bazel_features/1.32.0/MODULE.bazel": "095d67022a58cb20f7e20e1aefecfa65257a222c18a938e2914fd257b5f1ccdc",
+    "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6",
     "https://bcr.bazel.build/modules/bazel_features/1.34.0/MODULE.bazel": "e8475ad7c8965542e0c7aac8af68eb48c4af904be3d614b6aa6274c092c2ea1e",
+    "https://bcr.bazel.build/modules/bazel_features/1.36.0/MODULE.bazel": "596cb62090b039caf1cad1d52a8bc35cf188ca9a4e279a828005e7ee49a1bec3",
     "https://bcr.bazel.build/modules/bazel_features/1.38.0/MODULE.bazel": "f9b8a9c890ebd216b4049fd12a31d3c2602e3403c7af636b04fbbd7453edc9c9",
     "https://bcr.bazel.build/modules/bazel_features/1.39.0/MODULE.bazel": "28739425c1fc283c91931619749c832b555e60bcd1010b40d8441ce0a5cf726d",
     "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7",
@@ -222,14 +232,18 @@
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/MODULE.bazel": "29ecf4babfd3c762be00d7573c288c083672ab60e79c833ff7f49ee662e54471",
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/source.json": "8be4a3ef2599693f759e5c0990a4cc5a246ac08db4c900a38f852ba25b5c39be",
     "https://bcr.bazel.build/modules/c-ares/1.15.0/MODULE.bazel": "ba0a78360fdc83f02f437a9e7df0532ad1fbaa59b722f6e715c11effebaa0166",
-    "https://bcr.bazel.build/modules/c-ares/1.15.0/source.json": "5e3ed991616c5ec4cc09b0893b29a19232de4a1830eb78c567121bfea87453f7",
+    "https://bcr.bazel.build/modules/c-ares/1.19.1/MODULE.bazel": "73bca21720772370ff91cc8e88bbbaf14897720c6473e87c1ddc0f848284c313",
+    "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "f4632f68dbc075342966477d9c94a8a4a299d91e155980b042e1cd9f5a7ebcf5",
+    "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/source.json": "55fae1e004176f6cb36efcc77de9894f799d985f482b8f82fec989d556745a84",
     "https://bcr.bazel.build/modules/cel-spec/0.15.0/MODULE.bazel": "e1eed53d233acbdcf024b4b0bc1528116d92c29713251b5154078ab1348cb600",
-    "https://bcr.bazel.build/modules/cel-spec/0.15.0/source.json": "ab7dccdf21ea2261c0f809b5a5221a4d7f8b580309f285fdf1444baaca75d44a",
+    "https://bcr.bazel.build/modules/cel-spec/0.24.0/MODULE.bazel": "e310c7aff8490ed689ccafd32729b77a660b9547f5a5ba9b20e967011c324b36",
+    "https://bcr.bazel.build/modules/cel-spec/0.24.0/source.json": "522d08bc22524e07863276dd0f038f446a83166e91281dcfc07d5b8433c8d89e",
     "https://bcr.bazel.build/modules/civetweb/1.16/MODULE.bazel": "46a38f9daeb57392e3827fce7d40926be0c802bd23cdd6bfd3a96c804de42fae",
     "https://bcr.bazel.build/modules/civetweb/1.16/source.json": "ba8b9585adb8355cb51b999d57172fd05e7a762c56b8d4bac6db42c99de3beb7",
     "https://bcr.bazel.build/modules/curl/8.4.0/MODULE.bazel": "0bc250aa1cb69590049383df7a9537c809591fcf876c620f5f097c58fdc9bc10",
     "https://bcr.bazel.build/modules/curl/8.7.1/MODULE.bazel": "088221c35a2939c555e6e47cb31a81c15f8b59f4daa8009b1e9271a502d33485",
-    "https://bcr.bazel.build/modules/curl/8.7.1/source.json": "bf9890e809717445b10a3ddc323b6d25c46631589c693a232df8310a25964484",
+    "https://bcr.bazel.build/modules/curl/8.8.0/MODULE.bazel": "7da3b3e79b0b4ee8f8c95d640bc6ad7b430ce66ef6e9c9d2bc29b3b5ef85f6fe",
+    "https://bcr.bazel.build/modules/curl/8.8.0/source.json": "d7d138b6878cf38891692fee0649ace35357fd549b425614d571786f054374d4",
     "https://bcr.bazel.build/modules/cxx.rs/1.0.186/MODULE.bazel": "af6d2cf790d198754250b1bf1dc36c671f2006ffff7ea1e19ee13972347ef16f",
     "https://bcr.bazel.build/modules/cxx.rs/1.0.186/source.json": "6c30eb2ca366d9199343c00a5b49d5edcde0c72ee48f01c1017e19cc7bf210b5",
     "https://bcr.bazel.build/modules/cython/3.0.11-1/MODULE.bazel": "868b3f5c956c3657420d2302004c6bb92606bfa47e314bab7f2ba0630c7c966c",
@@ -240,9 +254,12 @@
     "https://bcr.bazel.build/modules/download_utils/1.2.2/MODULE.bazel": "7d185ec9dd3c5ee277f269e3a8e5f09b9de4cb7ba34d06b93dce9bf41c1279f8",
     "https://bcr.bazel.build/modules/download_utils/1.2.2/source.json": "c88be2bc48c98371d35665b805f307a647c98c83327345c918d9088822d77928",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "24e05f6f52f37be63a795192848555a2c8c855e7814dbc1ed419fb04a7005464",
-    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/source.json": "212043ab69d87f7a04aa4f627f725b540cff5e145a3a31a9403d8b6ec2e920c9",
+    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20250128-4de3c74/MODULE.bazel": "1fe72489212c530086e3ffb0e018b2bfef4663200ca03571570f9f006bef1d75",
+    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/MODULE.bazel": "b66e87a0e0c2207f07e35c321388eb1feb036344565977444b52912c53a84466",
+    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/source.json": "c4780edf780977f2ab7d00a189432c5b0b2fa08c6e4e2e09d2950499364a687d",
+    "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/MODULE.bazel": "e0292ad82ecfc94217bf07d2a5a546f1ccbcd931b3a85f0841c10c035a168bf6",
+    "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/source.json": "4a507d687de21eb596ad2709671eb4684d94f1604f8f3760b4c079bb0a12224e",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19/MODULE.bazel": "fe3a7f7811f43264f68136ad99e64384d70b2a25245e09ab800c4bb83171da25",
-    "https://bcr.bazel.build/modules/flatbuffers/25.12.19/source.json": "ea0204be7a79de9141cee5fa436e58a14e88b39b5b59227b21efa0394474ebea",
     "https://bcr.bazel.build/modules/flatbuffers/25.9.23/MODULE.bazel": "32753ba60bf3bacfe7737c0f3e8e3e55624b19af5d398c485580d57492d145d8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.3/MODULE.bazel": "f1b7bb2dd53e8f2ef984b39485ec8a44e9076dda5c4b8efd2fb4c6a6e856a31d",
@@ -254,17 +271,30 @@
     "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a",
     "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0",
     "https://bcr.bazel.build/modules/gazelle/0.37.0/MODULE.bazel": "d1327ba0907d0275ed5103bfbbb13518f6c04955b402213319d0d6c0ce9839d4",
+    "https://bcr.bazel.build/modules/gazelle/0.39.1/MODULE.bazel": "1fa3fefad240e535066fd0e6950dfccd627d36dc699ee0034645e51dbde3980f",
     "https://bcr.bazel.build/modules/gazelle/0.40.0/MODULE.bazel": "42ba5378ebe845fca43989a53186ab436d956db498acde790685fe0e8f9c6146",
     "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da",
-    "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6",
+    "https://bcr.bazel.build/modules/gazelle/0.46.0/MODULE.bazel": "3dec215dacf2427df87b524a2c99da387882a18d753f0b1b38675992bd0a99c6",
+    "https://bcr.bazel.build/modules/gazelle/0.46.0/source.json": "f255441117f6c63a3cbc0d4fd84c09c047e54a9bdaaf6aedf66e3b4218ddebd4",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.5/MODULE.bazel": "9ba9b31b984022828a950e3300410977eda2e35df35584c6b0b2d0c2e52766b7",
+    "https://bcr.bazel.build/modules/google_benchmark/1.9.4/MODULE.bazel": "3bab7c17c10580f87b647478a72a05621f88abc275afb97b578c828f56e59d45",
     "https://bcr.bazel.build/modules/google_benchmark/1.9.5/MODULE.bazel": "8a85cfd90b1e45e6e68f1aa2aa9efce3c04add57df732571d7fd54c07e7c5143",
     "https://bcr.bazel.build/modules/google_benchmark/1.9.5/source.json": "0bd357fd9db30ee31d5eb4c78b1086ce3d79b4423ce76de19e8a2fa7b2fa2e10",
+    "https://bcr.bazel.build/modules/googleapis-cc/1.0.0/MODULE.bazel": "cf01757e7590c56140a4b81638ff2b3e7074769e6271720bbf738fcda25b6fc2",
+    "https://bcr.bazel.build/modules/googleapis-cc/1.0.0/source.json": "ab0e3a2ee9968a8848f59872fbbfa3e1f768597d71d2229e6caa319d357967c7",
+    "https://bcr.bazel.build/modules/googleapis-go/1.0.0/MODULE.bazel": "0a207a4c49da28c5cc1f7b3aeb23c2f7828c85c14aa8d9db0e30357a8d2250ed",
+    "https://bcr.bazel.build/modules/googleapis-go/1.0.0/source.json": "ef189be4e7853e1ebc6123fe20b71822bf9896bd1f8eed8f68505c4585f72a48",
+    "https://bcr.bazel.build/modules/googleapis-java/1.0.0/MODULE.bazel": "d633989337d069b5a95e6101777319681d7a4af4677e36801f11839d6512095c",
+    "https://bcr.bazel.build/modules/googleapis-java/1.0.0/source.json": "ee59e2de37e4b531172870ac0296afa38f1ea004105ee21b2793c31a9d0ddccd",
+    "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/MODULE.bazel": "97c6a4d413b373d4cc97065da3de1b2166e22cbbb5f4cc9f05760bfa83619e24",
+    "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/source.json": "cf611c836a60e98e2e2ab2de8004f119e9f06878dcf4ea2d95a437b1b7a89fe9",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "117b7c7be7327ed5d6c482274533f2dbd78631313f607094d4625c28203cacdf",
-    "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/source.json": "b31fc7eb283a83f71d2e5bfc3d1c562d2994198fa1278409fbe8caec3afc1d3e",
+    "https://bcr.bazel.build/modules/googleapis/0.0.0-20241220-5e258e33.bcr.1/MODULE.bazel": "ee6c30f82ecd476e61f019fb1151aaab380ea419958ff274ef2f0efca7969f5c",
+    "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/MODULE.bazel": "cc9e5ed294ed9ebf42cdbbdddd2df29048519e3797004df1e3f369f31ff4f2d4",
+    "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/source.json": "21558a194c519e27262cca9cf031bb166a666a8b7fb89993b700c828f8dc0857",
     "https://bcr.bazel.build/modules/googletest/1.17.0.bcr.2/MODULE.bazel": "827f54f492a3ce549c940106d73de332c2b30cebd0c20c0bc5d786aba7f116cb",
     "https://bcr.bazel.build/modules/googletest/1.17.0.bcr.2/source.json": "3664514073a819992320ffbce5825e4238459df344d8b01748af2208f8d2e1eb",
     "https://bcr.bazel.build/modules/grpc-java/1.62.2/MODULE.bazel": "99b8771e8c7cacb130170fed2a10c9e8fed26334a93e73b42d2953250885a158",
@@ -279,11 +309,15 @@
     "https://bcr.bazel.build/modules/grpc/1.41.0/MODULE.bazel": "5bcbfc2b274dabea628f0649dc50c90cf36543b1cfc31624832538644ad1aae8",
     "https://bcr.bazel.build/modules/grpc/1.56.3.bcr.1/MODULE.bazel": "cd5b1eb276b806ec5ab85032921f24acc51735a69ace781be586880af20ab33f",
     "https://bcr.bazel.build/modules/grpc/1.62.1/MODULE.bazel": "2998211594b8a79a6b459c4e797cfa19f0fb8b3be3149760ec7b8c99abfd426f",
+    "https://bcr.bazel.build/modules/grpc/1.63.1.bcr.1/MODULE.bazel": "d7b9fef03bd175e6825237b521b18a3c29f1ac15f8aa52c8a1a0f3bd8f33d54b",
     "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.2/MODULE.bazel": "0fa2b0fd028ce354febf0fe90f1ed8fecfbfc33118cddd95ac0418cc283333a0",
     "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "f6047e89faf488f5e3e65cb2594c6f5e86992abec7487163ff6b623526e543b0",
     "https://bcr.bazel.build/modules/grpc/1.69.0/MODULE.bazel": "4e26e05c9e1ef291ccbc96aad8e457b1b8abedbc141623831629da2f8168eef6",
     "https://bcr.bazel.build/modules/grpc/1.70.1/MODULE.bazel": "b800cd8e3e7555c1e61cba2e02d3a2fcf0e91f66e800db286d965d3b7a6a721a",
-    "https://bcr.bazel.build/modules/grpc/1.70.1/source.json": "e2977ea6cf9f2755418934d4ae134a6569713dd200fd7aded86a4b7f1b86efc9",
+    "https://bcr.bazel.build/modules/grpc/1.71.0/MODULE.bazel": "7fcab2c05530373f1a442c362b17740dd0c75b6a2a975eec8f5bf4c70a37928a",
+    "https://bcr.bazel.build/modules/grpc/1.74.1/MODULE.bazel": "09523be10ba2bfd999683671d0f8f22fb5b20ec77ad89b05ef58ff19a1b65c82",
+    "https://bcr.bazel.build/modules/grpc/1.76.0/MODULE.bazel": "7373bd407fcb183b8bf379fa35dfe29feebdc6d8ec1bc40004cec6c7b2544be0",
+    "https://bcr.bazel.build/modules/grpc/1.76.0/source.json": "5c1deef5b02cb7dd52df9cb628d956e02db3ec40bd165a465bc10b7bf47aa16a",
     "https://bcr.bazel.build/modules/helly25_bzl/0.4.3/MODULE.bazel": "9c20052fd3f1fb767c48b78c1bbc46f501a4ca69d14558429d1234e68e449f68",
     "https://bcr.bazel.build/modules/helly25_bzl/0.4.3/source.json": "e8c54d81e72633fb6f1d23c7e2d44e0b39b1caef2a256141136a2f63e6204b78",
     "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f",
@@ -302,24 +336,29 @@
     "https://bcr.bazel.build/modules/nlohmann_json/3.12.0/MODULE.bazel": "21f19a4479e994c1546cf6f10c65d2fa464cd95f49eebad98dc5bac49c801dab",
     "https://bcr.bazel.build/modules/nlohmann_json/3.12.0/source.json": "6bf17b358c467effad70c02ab43e2d65939d740f667157397f583435909cfae1",
     "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74",
+    "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/MODULE.bazel": "cc18734138dd18c912c6ce2a59186db28f85d8058c99c9f21b46ca3e0aba0ebe",
+    "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/source.json": "7c135f9d42bb3b045669c3c6ab3bb3c208e00b46aca4422eea64c29811a5b240",
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "02201d2921dadb4ec90c4980eca4b2a02904eddcf6fa02f3da7594fb7b0d821c",
-    "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/source.json": "f50efc07822f5425bd1d3e40e977484f9c0142463052717d40ec85cd6744243e",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "789706a714855f92c5c8cfcf1ef32bbb64dcd3b7c9066756ad7986ec59709d29",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/source.json": "aadf3f53e08b72376506b7c4ea3d167010c9efb160d7d6e1e304ed646bac1b36",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/MODULE.bazel": "4a2e8b4d0b544002502474d611a5a183aa282251e14f6a01afe841c0c1b10372",
+    "https://bcr.bazel.build/modules/openssl/3.3.1.bcr.1/MODULE.bazel": "49c0c07e8fb87b480bccb842cfee1b32617f11dac590f732573c69058699a3d1",
     "https://bcr.bazel.build/modules/openssl/3.5.5.bcr.4/MODULE.bazel": "b3f35b53c6c73bd3a7c8efbf9b7e79e92566d189e64d313aede69f608ac6dd77",
     "https://bcr.bazel.build/modules/openssl/3.5.5.bcr.4/source.json": "662d68be9227e60ef65fed83c6820564bda4af0efe6a40dc62dd9aee288fe9cf",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "089a5613c2a159c7dfde098dabfc61e966889c7d6a81a98422a84c51535ed17d",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "b7379a140f538cea3f749179a2d481ed81942cc6f7b05a6113723eb34ac3b3e7",
-    "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/source.json": "da0cf667713b1e48d7f8912b100b4e0a8284c8a95717af5eb8c830d699e61cf5",
+    "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/MODULE.bazel": "3455326c08b28415648a3d60d8e3c811847ebdbe64474f75b25878f25585aea1",
+    "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/source.json": "4e48137e4c3ecb99401ff99876df8fa330598d7da051869bec643446e8a8ff95",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.1.0/MODULE.bazel": "a49f406e99bf05ab43ed4f5b3322fbd33adfd484b6546948929d1316299b68bf",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.3.1/MODULE.bazel": "0141a50e989576ee064c11ce8dd5ec89993525bd9f9a09c5618e4dacc8df9352",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/MODULE.bazel": "5ceaf25e11170d22eded4c8032728b4a3f273765fccda32f9e94f463755c4167",
-    "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/source.json": "fb9e01517460cfad8bafab082f2e1508d3cc2b7ed700cff19f3c7c84b146e5eb",
+    "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/MODULE.bazel": "7543d91a53b98e7b5b37c5a0865b93bff12c1ee022b1e322cd236b968894b030",
+    "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/source.json": "046b721ce203e88cdaad44d7dd17a86b7200eab9388b663b234e72e13ff7b143",
     "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/MODULE.bazel": "b3925269f63561b8b880ae7cf62ccf81f6ece55b62cd791eda9925147ae116ec",
     "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/source.json": "da1cb1add160f5e5074b7272e9db6fd8f1b3336c15032cd0a653af9d2f484aed",
     "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92",
     "https://bcr.bazel.build/modules/package_metadata/0.0.3/MODULE.bazel": "77890552ecea9e284b5424c9de827a58099348763a4359e975c359a83d4faa83",
+    "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4",
     "https://bcr.bazel.build/modules/package_metadata/0.0.6/MODULE.bazel": "341dab6f417197494517d54c8e557c0baee1de7aec83543a4fbefe57900acb7e",
     "https://bcr.bazel.build/modules/package_metadata/0.0.7/MODULE.bazel": "7adb03933fc8401f495800cf4eafcff0edc6da0ff55c7db223ef69d19f689486",
     "https://bcr.bazel.build/modules/package_metadata/0.0.7/source.json": "50639625e937b56115012674c797cca7a05a96b4878c87d803c13dc2b31de8a0",
@@ -335,8 +374,9 @@
     "https://bcr.bazel.build/modules/platforms/1.1.0/MODULE.bazel": "1c0c09f5bdcf4b3f924720d2478a3711cb39f4977019ca5988685e5b7e18b3d2",
     "https://bcr.bazel.build/modules/platforms/1.1.0/source.json": "fcf351c47596c939140ab0d333dfdd08ed1ea6ce33c2fe70c12493a301cf1344",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.2.4/MODULE.bazel": "0fbe5dcff66311947a3f6b86ebc6a6d9328e31a28413ca864debc4a043f371e5",
+    "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/MODULE.bazel": "116ad46e97c1d2aeb020fe2899a342a7e703574ce7c0faf7e4810f938c974a9a",
+    "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/source.json": "e813cce2d450708cfcb26e309c5172583a7440776edf354e83e6788c768e5cca",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/MODULE.bazel": "ce82e086bbc0b60267e970f6a54b2ca6d0f22d3eb6633e00e2cc2899c700f3d8",
-    "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/source.json": "8cb66b4e535afc718e9d104a3db96ccb71a42ee816a100e50fd0d5ac843c0606",
     "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7",
     "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a",
     "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12",
@@ -348,6 +388,7 @@
     "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c",
     "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d",
     "https://bcr.bazel.build/modules/protobuf/27.2/MODULE.bazel": "32450b50673882e4c8c3d10a83f3bc82161b213ed2f80d17e38bece8f165c295",
+    "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c",
     "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df",
     "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92",
     "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e",
@@ -355,12 +396,17 @@
     "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0",
     "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573",
     "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858",
+    "https://bcr.bazel.build/modules/protobuf/30.0/MODULE.bazel": "0e736de5d52ad7824113f47e65256a26ee74b689ba859c5447a0663e5a075409",
     "https://bcr.bazel.build/modules/protobuf/31.1/MODULE.bazel": "379a389bb330b7b8c1cdf331cc90bf3e13de5614799b3b52cdb7c6f389f6b38e",
-    "https://bcr.bazel.build/modules/protobuf/31.1/source.json": "25af5d0219da0c0fc4d1191a24ce438e6ca7f49d2e1a94f354efeba6ef10426f",
+    "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d",
+    "https://bcr.bazel.build/modules/protobuf/33.0/MODULE.bazel": "c5270efb4aad37a2f893536076518793f409ea7df07a06df995d848d1690f21c",
+    "https://bcr.bazel.build/modules/protobuf/33.0/source.json": "cd7ac80ad863190b9151281a85acc11d77b5bde2ba56443a7215da2d4ace6da3",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "c4bd2c850211ff5b7dadf9d2d0496c1c922fdedc303c775b01dfd3b3efc907ed",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "b8913c154b16177990f6126d2d2477d187f9ddc568e95ee3e2d50fc65d2c494a",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "4bf09676b62fa587ae07e073420a76ec8766dcce7545e5f8c68cfa8e484b5120",
-    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/source.json": "c19071ebc4b53b5f1cfab9c66eefaf6e4179eb8a998970d07b1077687e777f29",
+    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/MODULE.bazel": "3bd4b14a8e7c78dbef973280deabaa139db1fe350aa92da03730a31f59082068",
+    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/source.json": "14c28a5527fcd699f5efbf83a046666efabed3384364bd48428de89dfdc8110e",
+    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1/MODULE.bazel": "52b51f50533ec4fbd5d613cd093773f979ac2e035d954e02ca11de383f502505",
     "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e",
     "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34",
     "https://bcr.bazel.build/modules/pybind11_bazel/2.13.6/MODULE.bazel": "2d746fda559464b253b2b2e6073cb51643a2ac79009ca02100ebbc44b4548656",
@@ -377,9 +423,11 @@
     "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8",
     "https://bcr.bazel.build/modules/rules_android/0.6.6/MODULE.bazel": "b0fb569752aab65ab1a9db0a8f6cfaf5aa1754965e17e95dcf0e4d88e192a68d",
     "https://bcr.bazel.build/modules/rules_android/0.6.6/source.json": "a9d8dc2d5a102dc03269a94acc886a4cab82cdcb9ccbc77b0f665d6d17a6ae09",
+    "https://bcr.bazel.build/modules/rules_apple/3.13.0/MODULE.bazel": "b4559a2c6281ca3165275bb36c1f0ac74666632adc5bdb680e366de7ce845f43",
     "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a",
-    "https://bcr.bazel.build/modules/rules_apple/3.16.0/source.json": "d8b5fe461272018cc07cfafce11fe369c7525330804c37eec5a82f84cd475366",
     "https://bcr.bazel.build/modules/rules_apple/3.5.1/MODULE.bazel": "3d1bbf65ad3692003d36d8a29eff54d4e5c1c5f4bfb60f79e28646a924d9101c",
+    "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68",
+    "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715",
     "https://bcr.bazel.build/modules/rules_buf/0.1.1/MODULE.bazel": "6189aec18a4f7caff599ad41b851ab7645d4f1e114aa6431acf9b0666eb92162",
     "https://bcr.bazel.build/modules/rules_buf/0.5.2/MODULE.bazel": "5f2492d284ab9bedf2668178303abf5f3cd7d8cdf85d768951008e88456e9c6a",
     "https://bcr.bazel.build/modules/rules_buf/0.5.2/source.json": "41876d4834c0832de4b393de6e55dfd1cb3b25d3109e4ba90eb7fb57c560e0d9",
@@ -398,8 +446,11 @@
     "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e",
     "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5",
     "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513",
+    "https://bcr.bazel.build/modules/rules_cc/0.1.2/MODULE.bazel": "557ddc3a96858ec0d465a87c0a931054d7dcfd6583af2c7ed3baf494407fd8d0",
     "https://bcr.bazel.build/modules/rules_cc/0.1.4/MODULE.bazel": "bb03a452a7527ac25a7518fb86a946ef63df860b9657d8323a0c50f8504fb0b9",
     "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8",
+    "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c",
+    "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37",
     "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8",
     "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4",
     "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84",
@@ -426,7 +477,10 @@
     "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0",
     "https://bcr.bazel.build/modules/rules_go/0.51.0-rc2/MODULE.bazel": "edfc3a9cea7bedb0eaaff37b0d7817c1a4bf72b3c615580b0ffcee6c52690fd4",
     "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f",
-    "https://bcr.bazel.build/modules/rules_go/0.51.0/source.json": "473c0263360b1ae3aca71758e001d257a638620b2e2a36e3a2721fdae04377ec",
+    "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a",
+    "https://bcr.bazel.build/modules/rules_go/0.58.3/MODULE.bazel": "5582119a4a39558d8d1b1634bcae46043d4f43a31415e861c3551b2860040b5e",
+    "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb",
+    "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464",
     "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74",
     "https://bcr.bazel.build/modules/rules_java/5.1.0/MODULE.bazel": "324b6478b0343a3ce7a9add8586ad75d24076d6d43d2f622990b9c1cfd8a1b15",
     "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86",
@@ -444,10 +498,12 @@
     "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2",
     "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel": "a592852f8a3dd539e82ee6542013bf2cadfc4c6946be8941e189d224500a8934",
     "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe",
+    "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1",
     "https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e",
     "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615",
     "https://bcr.bazel.build/modules/rules_java/8.15.1/MODULE.bazel": "5071eebf0fd602ab0617f846e0e0d8f388d66c961513c736e0ac4a1dcde3ff2c",
-    "https://bcr.bazel.build/modules/rules_java/8.15.1/source.json": "e48286d5819767bc5b3d457539ae7f94e28a9b3e55d092d5c47176cb6a2a289b",
+    "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3",
+    "https://bcr.bazel.build/modules/rules_java/8.16.1/source.json": "072f8d11264edc499621be2dc9ea01d6395db5aa6f8799c034ae01a3e857f2e4",
     "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017",
     "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939",
     "https://bcr.bazel.build/modules/rules_java/8.6.0/MODULE.bazel": "9c064c434606d75a086f15ade5edb514308cccd1544c2b2a89bbac4310e41c71",
@@ -486,6 +542,7 @@
     "https://bcr.bazel.build/modules/rules_nodejs/6.5.2/MODULE.bazel": "7f9ea68a0ce6d82905ce9f74e76ab8a8b4531ed4c747018c9d76424ad0b3370d",
     "https://bcr.bazel.build/modules/rules_nodejs/6.7.3/MODULE.bazel": "c22a48b2a0dbf05a9dc5f83837bbc24c226c1f6e618de3c3a610044c9f336056",
     "https://bcr.bazel.build/modules/rules_nodejs/6.7.3/source.json": "a3f966f4415a8a6545e560ee5449eac95cc633f96429d08e87c87775c72f5e09",
+    "https://bcr.bazel.build/modules/rules_perl/0.2.4/MODULE.bazel": "5f5af7be4bf5fb88d91af7469518f0fd2161718aefc606188f7cd51f436ca938",
     "https://bcr.bazel.build/modules/rules_perl/1.1.0/MODULE.bazel": "22138e75bb8f1ee6c21f609b90d2c24b0c9b796ccf55cc04c1c9190b699f7e9d",
     "https://bcr.bazel.build/modules/rules_perl/1.1.0/source.json": "896fe7707a38c5b229c6f5fa77134209874c4d57fecda5f756c1f23e4d25aae2",
     "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc",
@@ -513,16 +570,20 @@
     "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed",
     "https://bcr.bazel.build/modules/rules_python/0.29.0/MODULE.bazel": "2ac8cd70524b4b9ec49a0b8284c79e4cd86199296f82f6e0d5da3f783d660c82",
     "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58",
+    "https://bcr.bazel.build/modules/rules_python/0.32.2/MODULE.bazel": "01052470fc30b49de91fb8483d26bea6f664500cfad0b078d4605b03e3a83ed4",
     "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937",
     "https://bcr.bazel.build/modules/rules_python/0.34.0/MODULE.bazel": "1d623d026e075b78c9fde483a889cda7996f5da4f36dffb24c246ab30f06513a",
+    "https://bcr.bazel.build/modules/rules_python/0.35.0/MODULE.bazel": "c3657951764cdcdb5a7370d5e885fad5e8c1583320aad18d46f9f110d2c22755",
     "https://bcr.bazel.build/modules/rules_python/0.37.1/MODULE.bazel": "3faeb2d9fa0a81f8980643ee33f212308f4d93eea4b9ce6f36d0b742e71e9500",
     "https://bcr.bazel.build/modules/rules_python/0.37.2/MODULE.bazel": "b5ffde91410745750b6c13be1c5dc4555ef5bc50562af4a89fd77807fdde626a",
     "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c",
     "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7",
     "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43",
     "https://bcr.bazel.build/modules/rules_python/1.1.0/MODULE.bazel": "57e01abae22956eb96d891572490d20e07d983e0c065de0b2170cafe5053e788",
+    "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13",
     "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6",
     "https://bcr.bazel.build/modules/rules_python/1.5.1/MODULE.bazel": "acfe65880942d44a69129d4c5c3122d57baaf3edf58ae5a6bd4edea114906bf5",
+    "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8",
     "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8",
     "https://bcr.bazel.build/modules/rules_python/1.8.3/MODULE.bazel": "f343e159b59701334be3914416b9f1b72845801ba47920fcb288af4ce8c5cce3",
     "https://bcr.bazel.build/modules/rules_python/1.8.5/MODULE.bazel": "28b2d79ed8368d7d45b34bacc220e3c0b99cbcd9392641961b849e4c3f55dd30",
@@ -542,7 +603,9 @@
     "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca",
     "https://bcr.bazel.build/modules/rules_swift/1.18.0/MODULE.bazel": "a6aba73625d0dc64c7b4a1e831549b6e375fbddb9d2dde9d80c9de6ec45b24c9",
     "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046",
-    "https://bcr.bazel.build/modules/rules_swift/2.1.1/source.json": "40fc69dfaac64deddbb75bd99cdac55f4427d9ca0afbe408576a65428427a186",
+    "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd",
+    "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400",
+    "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66",
     "https://bcr.bazel.build/modules/stardoc/0.5.0/MODULE.bazel": "f9f1f46ba8d9c3362648eea571c6f9100680efc44913618811b58cc9c02cd678",
     "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8",
     "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c",
@@ -554,7 +617,8 @@
     "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5",
     "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91",
-    "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/source.json": "32bd87e5f4d7acc57c5b2ff7c325ae3061d5e242c0c4c214ae87e0f1c13e54cb",
+    "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f",
+    "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b",
     "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468",
     "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351",
     "https://bcr.bazel.build/modules/tar.bzl/0.6.0/MODULE.bazel": "a3584b4edcfafcabd9b0ef9819808f05b372957bbdff41601429d5fd0aac2e7c",
@@ -599,15 +663,21 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20240722.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250127.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250127.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250512.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250512.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250814.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-cpp/20250814.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/abseil-py/2.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/ape/1.0.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.11.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.15.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.17.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.21.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.21.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.22.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.23.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.24.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.24.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/2.8.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/2.9.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "not found",
@@ -625,6 +695,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_esbuild/0.23.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/1.33.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/1.40.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.0.0/MODULE.bazel": "not found",
@@ -636,6 +707,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_py/1.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_py/1.5.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_ts/3.6.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_tools_telemetry/0.2.6/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/0.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.0.0/MODULE.bazel": "not found",
@@ -656,7 +728,9 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.3.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.30.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.32.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.33.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.34.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.36.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.38.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.39.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.4.1/MODULE.bazel": "not found",
@@ -743,16 +817,23 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildozer/7.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bzip2/1.0.8.bcr.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/c-ares/1.15.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/c-ares/1.19.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cel-spec/0.15.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cel-spec/0.24.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/civetweb/1.16/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/curl/8.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/curl/8.7.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/curl/8.8.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cxx.rs/1.0.186/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cython/3.0.11-1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/diff.bzl/0.5.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/download_utils/1.0.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/download_utils/1.2.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/envoy_api/0.0.0-20250128-4de3c74/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/envoy_api/0.0.0-20251105-4a2b9a3/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/flatbuffers/25.12.19.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/flatbuffers/25.12.19/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/flatbuffers/25.9.23/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "not found",
@@ -764,14 +845,23 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.34.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.36.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.37.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.39.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.40.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.44.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.46.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.5/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.9.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.9.5/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis-cc/1.0.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis-go/1.0.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis-java/1.0.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis-rules-registry/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20241220-5e258e33.bcr.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20251003-2193a2bf/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googletest/1.17.0.bcr.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.62.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.66.0/MODULE.bazel": "not found",
@@ -783,10 +873,14 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.41.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.56.3.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.62.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.63.1.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.66.0.bcr.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.69.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.70.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.71.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.74.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.76.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/helly25_bzl/0.4.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/jq.bzl/0.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/jq.bzl/0.4.0/MODULE.bazel": "not found",
@@ -799,18 +893,23 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/nlohmann_json/3.11.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/nlohmann_json/3.12.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/nlohmann_json/3.6.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-proto/0.4.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/openssl/3.3.1.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/openssl/3.5.5.bcr.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-cpp/1.19.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-proto/1.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-proto/1.3.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-proto/1.4.0.bcr.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-proto/1.5.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentracing-cpp/1.6.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/package_metadata/0.0.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/package_metadata/0.0.3/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/package_metadata/0.0.5/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/package_metadata/0.0.6/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/package_metadata/0.0.7/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/platforms/0.0.10/MODULE.bazel": "not found",
@@ -824,6 +923,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/platforms/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/platforms/1.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/prometheus-cpp/1.2.4/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/prometheus-cpp/1.3.0.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/prometheus-cpp/1.3.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/21.7/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/23.1/MODULE.bazel": "not found",
@@ -836,6 +936,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/27.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/27.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/27.2/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/29.0-rc2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/29.0-rc3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/29.0/MODULE.bazel": "not found",
@@ -843,10 +944,15 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/3.19.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/3.19.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/3.19.6/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/30.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/31.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/32.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/33.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.2.1.bcr.2/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.2.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.11.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.12.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.13.6/MODULE.bazel": "not found",
@@ -859,8 +965,10 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/re2/2025-08-12.bcr.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_android/0.1.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_android/0.6.6/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_apple/3.13.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_apple/3.16.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_apple/3.5.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_apple/4.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_buf/0.1.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_buf/0.5.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_build_error/0.11.0/MODULE.bazel": "not found",
@@ -877,8 +985,11 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.0.8/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.0.9/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.5/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.13/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.14/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.17/MODULE.bazel": "not found",
@@ -903,6 +1014,9 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.50.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.51.0-rc2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.51.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.53.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.58.3/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.60.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/4.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.3.5/MODULE.bazel": "not found",
@@ -920,9 +1034,11 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.3.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.6.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.6.5/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.13.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.14.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.15.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.16.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.3.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.5.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.6.0/MODULE.bazel": "not found",
@@ -955,6 +1071,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.3.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.5.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.7.3/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_perl/0.2.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_perl/1.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/0.7.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/1.0.1/MODULE.bazel": "not found",
@@ -979,16 +1096,20 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.28.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.29.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.31.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.32.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.33.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.34.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.35.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.37.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.37.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/0.40.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.1.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.3.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.4.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.5.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.6.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.7.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.8.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_python/1.8.5/MODULE.bazel": "not found",
@@ -1006,6 +1127,10 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.16.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.18.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.4.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/3.1.2/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/MODULE.bazel": "ab876c72e62f4ad29a20da6fe69c7d888c49f12d382dac241ee7ff98341778ff",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/source.json": "fce4fdcbb347484e4d7d8b9ecec251e21ec7f462ad02a38dbc5bec9057e7c470",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
@@ -1040,6 +1165,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.7.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.7.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.2.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.5.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.6.0/MODULE.bazel": "not found",
@@ -1069,8 +1195,8 @@
   "moduleExtensions": {
     "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": {
       "general": {
-        "bzlTransitiveDigest": "xa0pOEfVyufb2E4901P5WFYhgbi0g5qBN03HONY+wCw=",
-        "usagesDigest": "sj4kz7yaVclWMuWhUhSLq0bVH7+HrkWyMdODMeA7Zhw=",
+        "bzlTransitiveDigest": "wguCGPXGIg4T+lCxDNsBklS5fcTpTp7qkLI46R2h1Y4=",
+        "usagesDigest": "2aGKRniWdOhtlYOL0710cE1WHQSZgVJOOQnU6OcEH6M=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1191,6 +1317,11 @@
             "aspect_rules_js",
             "aspect_rules_js+"
           ],
+          [
+            "aspect_rules_esbuild+",
+            "aspect_tools_telemetry_report",
+            "aspect_tools_telemetry++telemetry+aspect_tools_telemetry_report"
+          ],
           [
             "aspect_rules_esbuild+",
             "bazel_skylib",
@@ -1512,7 +1643,7 @@
     "@@aspect_tools_telemetry+//:extension.bzl%telemetry": {
       "general": {
         "bzlTransitiveDigest": "gA7tPEdJXhskzPIEUxjX9IdDrM6+WjfbgXJ8Ez47umk=",
-        "usagesDigest": "Qe1lA0prPNt87OXoXq3fzmffG9RmcuqdmLdwKVAOUnc=",
+        "usagesDigest": "aiWShUDjoNv1aayeGTTvqXz2Y/TSC0zLzUPpjC916Jo=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1522,6 +1653,7 @@
             "attributes": {
               "deps": {
                 "aspect_rules_lint": "2.5.0",
+                "aspect_rules_esbuild": "0.23.0",
                 "aspect_tools_telemetry": "0.2.8"
               }
             }
@@ -1543,7 +1675,7 @@
     },
     "@@bazel_jar_jar+//internal:non_module_deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "WKp1gL89DpGSSx+oIwtE0toTaqU5pfTzmQSNhxgCEwk=",
+        "bzlTransitiveDigest": "yY4JZwLqlWjGdqgeYKwhn5LxsFmnACDn0uA/vYnrYVQ=",
         "usagesDigest": "P1uSZ4XnqOp90Mkh0A4Nrjx12Bgz/iceROnSbTsawGk=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
@@ -1657,207 +1789,10 @@
         ]
       }
     },
-    "@@cel-spec+//:extensions.bzl%non_module_dependencies": {
-      "general": {
-        "bzlTransitiveDigest": "49v9UE4eBOMtW8ATb+3VHdFaCc//dFbCS+ZQW0HIKNE=",
-        "usagesDigest": "HFQJtQrL9nKaFZEjgwaHVMHALMW+cafu696xy7J4ueM=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_google_googleapis": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "sha256": "bd8e735d881fb829751ecb1a77038dda4a8d274c45490cb9fcf004583ee10571",
-              "strip_prefix": "googleapis-07c27163ac591955d736f3057b1619ece66f5b99",
-              "urls": [
-                "https://github.com/googleapis/googleapis/archive/07c27163ac591955d736f3057b1619ece66f5b99.tar.gz"
-              ]
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "cel-spec+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
-      }
-    },
-    "@@cel-spec+//:googleapis_ext.bzl%googleapis_ext": {
-      "general": {
-        "bzlTransitiveDigest": "yun2jmsomFi3bs5bjQWXApBzqQf66zBJ39JEBYigzdc=",
-        "usagesDigest": "Ek7VfZ+tuyRBx/1h5wcmtnW9EGpOb0dkXUwBluZbD8k=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_google_googleapis_imports": {
-            "repoRuleId": "@@cel-spec++non_module_dependencies+com_google_googleapis//:repository_rules.bzl%switched_rules",
-            "attributes": {
-              "rules": {
-                "proto_library_with_info": [
-                  "",
-                  ""
-                ],
-                "moved_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_grpc_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_test": [
-                  "",
-                  ""
-                ],
-                "java_gapic_assembly_gradle_pkg": [
-                  "",
-                  ""
-                ],
-                "py_proto_library": [
-                  "",
-                  ""
-                ],
-                "py_grpc_library": [
-                  "",
-                  ""
-                ],
-                "py_gapic_library": [
-                  "",
-                  ""
-                ],
-                "py_test": [
-                  "",
-                  ""
-                ],
-                "py_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "py_import": [
-                  "",
-                  ""
-                ],
-                "go_proto_library": [
-                  "",
-                  ""
-                ],
-                "go_library": [
-                  "",
-                  ""
-                ],
-                "go_test": [
-                  "",
-                  ""
-                ],
-                "go_gapic_library": [
-                  "",
-                  ""
-                ],
-                "go_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "cc_proto_library": [
-                  "native.cc_proto_library",
-                  ""
-                ],
-                "cc_grpc_library": [
-                  "",
-                  ""
-                ],
-                "cc_gapic_library": [
-                  "",
-                  ""
-                ],
-                "php_proto_library": [
-                  "",
-                  "php_proto_library"
-                ],
-                "php_grpc_library": [
-                  "",
-                  "php_grpc_library"
-                ],
-                "php_gapic_library": [
-                  "",
-                  "php_gapic_library"
-                ],
-                "php_gapic_assembly_pkg": [
-                  "",
-                  "php_gapic_assembly_pkg"
-                ],
-                "nodejs_gapic_library": [
-                  "",
-                  "typescript_gapic_library"
-                ],
-                "nodejs_gapic_assembly_pkg": [
-                  "",
-                  "typescript_gapic_assembly_pkg"
-                ],
-                "ruby_proto_library": [
-                  "",
-                  ""
-                ],
-                "ruby_grpc_library": [
-                  "",
-                  ""
-                ],
-                "ruby_ads_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_cloud_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "csharp_proto_library": [
-                  "",
-                  ""
-                ],
-                "csharp_grpc_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ]
-              }
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "cel-spec+",
-            "com_google_googleapis",
-            "cel-spec++non_module_dependencies+com_google_googleapis"
-          ]
-        ]
-      }
-    },
     "@@envoy_api+//bazel:repositories.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "VzLskQI4CUM3XVC+wpI1FIlKua2ToSOGRJ8G+0HfaV8=",
-        "usagesDigest": "cxAa0VVo9d210JBUBw6wpuGp8jg+ltqw3tzH0tPtIEg=",
+        "bzlTransitiveDigest": "ZZmkeUj6sKBhRPx7KC3Ko/bFvj0z/1JGGmJwq07Bjz8=",
+        "usagesDigest": "lOhJkV09ITWn6LOK9fLMuf1t3969wdr45lToQ2MVQoU=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1866,33 +1801,12 @@
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "urls": [
-                "https://github.com/prometheus/client_model/archive/v0.6.1.tar.gz"
+                "https://github.com/prometheus/client_model/archive/v0.6.2.tar.gz"
               ],
-              "sha256": "b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e",
-              "strip_prefix": "client_model-0.6.1",
+              "sha256": "47c5ea7949f68e7f7b344350c59b6bd31eeb921f0eec6c3a566e27cf1951470c",
+              "strip_prefix": "client_model-0.6.2",
               "build_file_content": "\nload(\"@envoy_api//bazel:api_build_system.bzl\", \"api_cc_py_proto_library\")\nload(\"@io_bazel_rules_go//proto:def.bzl\", \"go_proto_library\")\n\napi_cc_py_proto_library(\n    name = \"client_model\",\n    srcs = [\n        \"io/prometheus/client/metrics.proto\",\n    ],\n    visibility = [\"//visibility:public\"],\n)\n\ngo_proto_library(\n    name = \"client_model_go_proto\",\n    importpath = \"github.com/prometheus/client_model/go\",\n    proto = \":client_model\",\n    visibility = [\"//visibility:public\"],\n)\n"
             }
-          },
-          "com_github_bufbuild_buf": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/bufbuild/buf/releases/download/v1.47.2/buf-Linux-x86_64.tar.gz"
-              ],
-              "sha256": "39716cfe0185df3cba21f66ec739620ffb6876c48b2da4338a8c68c290c9b116",
-              "strip_prefix": "buf",
-              "build_file_content": "\npackage(\n    default_visibility = [\"//visibility:public\"],\n)\n\nfilegroup(\n    name = \"buf\",\n    srcs = [\n        \"@com_github_bufbuild_buf//:bin/buf\",\n    ],\n    tags = [\"manual\"], # buf is downloaded as a linux binary; tagged manual to prevent build for non-linux users\n)\n"
-            }
-          },
-          "envoy_toolshed": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/envoyproxy/toolshed/archive/bazel-v0.2.0.tar.gz"
-              ],
-              "sha256": "ef5e95580c41f6805beec197d9a4f6683550f4bfc1e1c678449b6d205dbf000b",
-              "strip_prefix": "toolshed-bazel-v0.2.0/bazel"
-            }
           }
         },
         "recordedRepoMappingEntries": [
@@ -1911,168 +1825,12 @@
     },
     "@@googleapis+//:extensions.bzl%switched_rules": {
       "general": {
-        "bzlTransitiveDigest": "vG6fuTzXD8MMvHWZEQud0MMH7eoC4GXY0va7VrFFh04=",
-        "usagesDigest": "GgS9fFQ+jq1T8XmP/+O39Kr+uPlDWkWIZFIy6ex93WA=",
+        "bzlTransitiveDigest": "1ZTg77R3Ks/ksx8QMNIoTRJetbJPRlzGFlJa9hoUn+Y=",
+        "usagesDigest": "4qqLlQt9ukbtcljUbNd31KFkYT16jA3KGb6yYAFv+o4=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_google_googleapis_imports": {
-            "repoRuleId": "@@googleapis+//:repository_rules.bzl%switched_rules",
-            "attributes": {
-              "rules": {
-                "proto_library_with_info": [
-                  "",
-                  ""
-                ],
-                "moved_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_grpc_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_test": [
-                  "",
-                  ""
-                ],
-                "java_gapic_assembly_gradle_pkg": [
-                  "",
-                  ""
-                ],
-                "py_proto_library": [
-                  "",
-                  ""
-                ],
-                "py_grpc_library": [
-                  "",
-                  ""
-                ],
-                "py_gapic_library": [
-                  "",
-                  ""
-                ],
-                "py_test": [
-                  "",
-                  ""
-                ],
-                "py_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "py_import": [
-                  "",
-                  ""
-                ],
-                "go_proto_library": [
-                  "",
-                  ""
-                ],
-                "go_grpc_library": [
-                  "",
-                  ""
-                ],
-                "go_library": [
-                  "",
-                  ""
-                ],
-                "go_test": [
-                  "",
-                  ""
-                ],
-                "go_gapic_library": [
-                  "",
-                  ""
-                ],
-                "go_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "cc_proto_library": [
-                  "",
-                  ""
-                ],
-                "cc_grpc_library": [
-                  "",
-                  ""
-                ],
-                "cc_gapic_library": [
-                  "",
-                  ""
-                ],
-                "php_proto_library": [
-                  "",
-                  "php_proto_library"
-                ],
-                "php_grpc_library": [
-                  "",
-                  "php_grpc_library"
-                ],
-                "php_gapic_library": [
-                  "",
-                  "php_gapic_library"
-                ],
-                "php_gapic_assembly_pkg": [
-                  "",
-                  "php_gapic_assembly_pkg"
-                ],
-                "nodejs_gapic_library": [
-                  "",
-                  "typescript_gapic_library"
-                ],
-                "nodejs_gapic_assembly_pkg": [
-                  "",
-                  "typescript_gapic_assembly_pkg"
-                ],
-                "ruby_proto_library": [
-                  "",
-                  ""
-                ],
-                "ruby_grpc_library": [
-                  "",
-                  ""
-                ],
-                "ruby_ads_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_cloud_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "csharp_proto_library": [
-                  "",
-                  ""
-                ],
-                "csharp_grpc_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ]
-              }
-            }
-          }
-        },
+        "generatedRepoSpecs": {},
         "recordedRepoMappingEntries": []
       }
     },
@@ -2169,126 +1927,6 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": {
-      "general": {
-        "bzlTransitiveDigest": "lgof385rXHmmk4IC53d7qCeKZlZunQ4c6SX3i40TjMI=",
-        "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "local_provisioning_profiles": {
-            "repoRuleId": "@@rules_apple+//apple/internal:local_provisioning_profiles.bzl%provisioning_profile_repository",
-            "attributes": {}
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "apple_support+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "bazel_tools",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_apple+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_apple+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_apple+",
-            "build_bazel_apple_support",
-            "apple_support+"
-          ],
-          [
-            "rules_apple+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ],
-          [
-            "rules_cc+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ],
-          [
-            "rules_cc+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_swift+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_swift+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_apple_support",
-            "apple_support+"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift_local_config",
-            "rules_swift++non_module_deps+build_bazel_rules_swift_local_config"
-          ]
-        ]
-      }
-    },
-    "@@rules_apple+//apple:extensions.bzl%non_module_deps": {
-      "general": {
-        "bzlTransitiveDigest": "4xtddSlWIQdtVNVuvOI62fJfQVETHZCVWFvYYwQHMR4=",
-        "usagesDigest": "M3VqFpeTCo4qmrNKGZw0dxBHvTYDrfV3cscGzlSAhQ4=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "xctestrunner": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/google/xctestrunner/archive/b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6.tar.gz"
-              ],
-              "strip_prefix": "xctestrunner-b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6",
-              "sha256": "ae3a063c985a8633cb7eb566db21656f8db8eb9a0edb8c182312c7f0db53730d"
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_apple+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
-      }
-    },
     "@@rules_boost+//:boost/repositories.bzl%non_module_dependencies": {
       "general": {
         "bzlTransitiveDigest": "LyNJAJDFfdhRYUCeGd1OJlb0/cdtrEpQca0MpJy9l6w=",
@@ -3697,7 +3335,7 @@
     "@@rules_nodejs+//nodejs:extensions.bzl%node": {
       "general": {
         "bzlTransitiveDigest": "4pUxCNc22K4I+6+4Nxu52Hur12tFRfa1JMsN5mdDv60=",
-        "usagesDigest": "+Q1iBvxUCNrDBPl7RSp1m8ia6iWfULbEIgocScokBtY=",
+        "usagesDigest": "KC7HyKRhcVBxLzBZ154+/svI34MlSgynA4NSElgMXaI=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -11305,165 +10943,6 @@
         ]
       }
     },
-    "@@rules_swift+//swift:extensions.bzl%non_module_deps": {
-      "general": {
-        "bzlTransitiveDigest": "6axDCXf6fQoPav8hojnUBxGA0FAMqLvtpC1cRsisCdw=",
-        "usagesDigest": "mhACFnrdMv9Wi0Mt67bxocJqviRkDSV+Ee5Mqdj5akA=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_github_apple_swift_protobuf": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz"
-              ],
-              "sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb",
-              "strip_prefix": "swift-protobuf-1.20.2/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay"
-            }
-          },
-          "com_github_grpc_grpc_swift": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz"
-              ],
-              "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5",
-              "strip_prefix": "grpc-swift-1.16.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_docc_symbolkit": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-docc-symbolkit/archive/refs/tags/swift-5.10-RELEASE.tar.gz"
-              ],
-              "sha256": "de1d4b6940468ddb53b89df7aa1a81323b9712775b0e33e8254fa0f6f7469a97",
-              "strip_prefix": "swift-docc-symbolkit-swift-5.10-RELEASE",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_docc_symbolkit/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz"
-              ],
-              "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0",
-              "strip_prefix": "swift-nio-2.42.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_http2": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz"
-              ],
-              "sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25",
-              "strip_prefix": "swift-nio-http2-1.26.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_transport_services": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz"
-              ],
-              "sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262",
-              "strip_prefix": "swift-nio-transport-services-1.15.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_extras": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz"
-              ],
-              "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b",
-              "strip_prefix": "swift-nio-extras-1.4.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_log": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-log/archive/1.4.4.tar.gz"
-              ],
-              "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0",
-              "strip_prefix": "swift-log-1.4.4/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_ssl": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz"
-              ],
-              "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d",
-              "strip_prefix": "swift-nio-ssl-2.23.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_collections": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-collections/archive/1.0.4.tar.gz"
-              ],
-              "sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096",
-              "strip_prefix": "swift-collections-1.0.4/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_atomics": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz"
-              ],
-              "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb",
-              "strip_prefix": "swift-atomics-1.1.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay"
-            }
-          },
-          "build_bazel_rules_swift_index_import": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay",
-              "canonical_id": "index-import-5.8",
-              "urls": [
-                "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz"
-              ],
-              "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15"
-            }
-          },
-          "build_bazel_rules_swift_local_config": {
-            "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration",
-            "attributes": {}
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_swift+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ]
-        ]
-      }
-    },
     "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": {
       "general": {
         "bzlTransitiveDigest": "4I0YNPbDgLY5CojGj/bUi9kZkZnU0EDjGFyT8XcfAc4=",
@@ -12250,5 +11729,706 @@
       }
     }
   },
-  "facts": {}
+  "facts": {
+    "@@rules_go+//go:extensions.bzl%go_sdk": {
+      "1.20.2": {
+        "darwin_amd64": [
+          "go1.20.2.darwin-amd64.tar.gz",
+          "c93b8ced9517d07e1cd4c362c6e2d5242cb139e29b417a328fbf19aded08764c"
+        ],
+        "darwin_arm64": [
+          "go1.20.2.darwin-arm64.tar.gz",
+          "7343c87f19e79c0063532e82e1c4d6f42175a32d99f7a4d15e658e88bf97f885"
+        ],
+        "freebsd_386": [
+          "go1.20.2.freebsd-386.tar.gz",
+          "14f9be2004e042b3a64d0facb0c020756a9084a5c7333e33b0752b393b6016ea"
+        ],
+        "freebsd_amd64": [
+          "go1.20.2.freebsd-amd64.tar.gz",
+          "b41b67b4f1b56797a7cecf6ee7f47fcf4f93960b2788a3683c07dd009d30b2a4"
+        ],
+        "linux_386": [
+          "go1.20.2.linux-386.tar.gz",
+          "ee240ed33ae57504c41f04c12236aeaa17fbeb6ea9fcd096cd9dc7a89d10d4db"
+        ],
+        "linux_amd64": [
+          "go1.20.2.linux-amd64.tar.gz",
+          "4eaea32f59cde4dc635fbc42161031d13e1c780b87097f4b4234cfce671f1768"
+        ],
+        "linux_arm64": [
+          "go1.20.2.linux-arm64.tar.gz",
+          "78d632915bb75e9a6356a47a42625fd1a785c83a64a643fedd8f61e31b1b3bef"
+        ],
+        "linux_armv6l": [
+          "go1.20.2.linux-armv6l.tar.gz",
+          "d79d56bafd6b52b8d8cbe3f8e967caaac5383a23d7a4fa9ac0e89778cd16a076"
+        ],
+        "linux_ppc64le": [
+          "go1.20.2.linux-ppc64le.tar.gz",
+          "850564ddb760cb703db63bf20182dc4407abd2ff090a95fa66d6634d172fd095"
+        ],
+        "linux_s390x": [
+          "go1.20.2.linux-s390x.tar.gz",
+          "8da24c5c4205fe8115f594237e5db7bcb1d23df67bc1fa9a999954b1976896e8"
+        ],
+        "windows_386": [
+          "go1.20.2.windows-386.zip",
+          "31838b291117495bbb93683603e98d5118bfabd2eb318b4d07540bfd524bab86"
+        ],
+        "windows_amd64": [
+          "go1.20.2.windows-amd64.zip",
+          "fe439f0e438f7555a7f5f7194ddb6f4a07b0de1fa414385d19f2aeb26d9f43db"
+        ],
+        "windows_arm64": [
+          "go1.20.2.windows-arm64.zip",
+          "ac5010c8b8b22849228a8dea698d58b9c7be2195d30c6d778cce0f709858fa64"
+        ]
+      },
+      "1.22.0": {
+        "aix_ppc64": [
+          "go1.22.0.aix-ppc64.tar.gz",
+          "190e105fc4133a8b5bb1492f368fa89aa4b729270441120714be7ee82e871ebc"
+        ],
+        "darwin_amd64": [
+          "go1.22.0.darwin-amd64.tar.gz",
+          "ebca81df938d2d1047cc992be6c6c759543cf309d401b86af38a6aed3d4090f4"
+        ],
+        "darwin_arm64": [
+          "go1.22.0.darwin-arm64.tar.gz",
+          "bf8e388b09134164717cd52d3285a4ab3b68691b80515212da0e9f56f518fb1e"
+        ],
+        "dragonfly_amd64": [
+          "go1.22.0.dragonfly-amd64.tar.gz",
+          "357ab446200effa26c73ccaf3e8551426428950bf2490859fb296a09e53228b1"
+        ],
+        "freebsd_386": [
+          "go1.22.0.freebsd-386.tar.gz",
+          "b8065da37783e8b9e7086365a54d74537e832c92311b61101a66989ab2458d8e"
+        ],
+        "freebsd_amd64": [
+          "go1.22.0.freebsd-amd64.tar.gz",
+          "50f421c7f217083ac94aab1e09400cb9c2fea7d337679ec11f1638a11460da30"
+        ],
+        "freebsd_arm64": [
+          "go1.22.0.freebsd-arm64.tar.gz",
+          "e23385e5c640787fa02cd58f2301ea09e162c4d99f8ca9fa6d52766f428a933d"
+        ],
+        "freebsd_armv6l": [
+          "go1.22.0.freebsd-arm.tar.gz",
+          "c9c8b305f90903536f4981bad9f029828c2483b3216ca1783777344fbe603f2d"
+        ],
+        "freebsd_riscv64": [
+          "go1.22.0.freebsd-riscv64.tar.gz",
+          "c8f94d1de6024546194d58e7b9370dc7ea06176aad94a675b0062c25c40cb645"
+        ],
+        "illumos_amd64": [
+          "go1.22.0.illumos-amd64.tar.gz",
+          "d6792f11ad6ee5fc42d2fe51e1f1683471aa2ee4f20e3ad1be22a4afdbd38e7f"
+        ],
+        "linux_386": [
+          "go1.22.0.linux-386.tar.gz",
+          "1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3"
+        ],
+        "linux_amd64": [
+          "go1.22.0.linux-amd64.tar.gz",
+          "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265"
+        ],
+        "linux_arm64": [
+          "go1.22.0.linux-arm64.tar.gz",
+          "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10"
+        ],
+        "linux_armv6l": [
+          "go1.22.0.linux-armv6l.tar.gz",
+          "0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4"
+        ],
+        "linux_loong64": [
+          "go1.22.0.linux-loong64.tar.gz",
+          "b4b1d425cc113608452a32768469b6e34e538fd072bde9f508a75c8dbbdb843f"
+        ],
+        "linux_mips": [
+          "go1.22.0.linux-mips.tar.gz",
+          "ec0f9194df750c78492c02e4c70ffe6f3864f2511e47c894415320db752719f8"
+        ],
+        "linux_mips64": [
+          "go1.22.0.linux-mips64.tar.gz",
+          "47e938d215e4968ab42afb7307792e5e64184a717e8f176d0de7c411af96d63d"
+        ],
+        "linux_mips64le": [
+          "go1.22.0.linux-mips64le.tar.gz",
+          "c162a1a516b8bc8839fc0c0283ad90f6b511e5aca3da4939ed4800f124b9e72c"
+        ],
+        "linux_mipsle": [
+          "go1.22.0.linux-mipsle.tar.gz",
+          "6ce3e9a06e3a8ca0312dc1f85046b6914c19852eba5393c5cbf26acf698f8977"
+        ],
+        "linux_ppc64": [
+          "go1.22.0.linux-ppc64.tar.gz",
+          "5ae23bf460731eb078f5700b01a50a303308b9f7174a2994892e28bf061f7c85"
+        ],
+        "linux_ppc64le": [
+          "go1.22.0.linux-ppc64le.tar.gz",
+          "0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93"
+        ],
+        "linux_riscv64": [
+          "go1.22.0.linux-riscv64.tar.gz",
+          "afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086"
+        ],
+        "linux_s390x": [
+          "go1.22.0.linux-s390x.tar.gz",
+          "2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446"
+        ],
+        "netbsd_386": [
+          "go1.22.0.netbsd-386.tar.gz",
+          "9b7e2dbd43a169bff18bf533a6c2f462eebe04126ab01c138d0d669c046e1658"
+        ],
+        "netbsd_amd64": [
+          "go1.22.0.netbsd-amd64.tar.gz",
+          "b11995c271d2256dfe85cf54882ca3655e18c49c4d7db0502bff9977767894e7"
+        ],
+        "netbsd_arm64": [
+          "go1.22.0.netbsd-arm64.tar.gz",
+          "499918ccfedde78264d194244d251bf41d95cf606cc0adad13b36b8103cb974f"
+        ],
+        "netbsd_armv6l": [
+          "go1.22.0.netbsd-arm.tar.gz",
+          "b57a3aa9c862300ec0ee8609ce5e0f430f132044f351677fd34711a504081872"
+        ],
+        "openbsd_386": [
+          "go1.22.0.openbsd-386.tar.gz",
+          "379e0829104c18a139d78b33378e6bd3ab2e0792f6c43b4c38e7f20d8d77b99d"
+        ],
+        "openbsd_amd64": [
+          "go1.22.0.openbsd-amd64.tar.gz",
+          "ceb0c97ffc3bfaf74e1df843cb8571d7fc3173a08432f0f42112495df6a31520"
+        ],
+        "openbsd_arm64": [
+          "go1.22.0.openbsd-arm64.tar.gz",
+          "358801cab7122ab50d7d92727644f26d818e9e973403f09e85c2e935a625db75"
+        ],
+        "openbsd_armv6l": [
+          "go1.22.0.openbsd-arm.tar.gz",
+          "8af5aea3df539bc95ed412c0a176fe84baced70ea1dd29f4aa82d0e9ce27fd9f"
+        ],
+        "plan9_386": [
+          "go1.22.0.plan9-386.tar.gz",
+          "fa42c545c9025c45ca9af176dc13a0f4af0cc26bacff6fcb35bb4a170ac538e8"
+        ],
+        "plan9_amd64": [
+          "go1.22.0.plan9-amd64.tar.gz",
+          "d8cf64f37a1dfd8e190c5a303c43ab2d49324868f098d88a3106072d137a5a0b"
+        ],
+        "plan9_armv6l": [
+          "go1.22.0.plan9-arm.tar.gz",
+          "86fd6165f0cbb47ad551094f74b3e5a6c5e09de858d8b99de72d978d41be6e2a"
+        ],
+        "solaris_amd64": [
+          "go1.22.0.solaris-amd64.tar.gz",
+          "a6c12651768d3a74f16104502b4b7bef513ea6b646d99990a28d934c261d1689"
+        ],
+        "windows_386": [
+          "go1.22.0.windows-386.zip",
+          "553d44928509965cbda02a45b35ab01cf8b925534bc526a34e2d9dc7794b57e8"
+        ],
+        "windows_amd64": [
+          "go1.22.0.windows-amd64.zip",
+          "78b3158fe3aa358e0b6c9f26ecd338f9a11441e88bc434ae2e9f0ca2b0cc4dd3"
+        ],
+        "windows_arm64": [
+          "go1.22.0.windows-arm64.zip",
+          "31a61e41d06a3bb2189a303f5f3e777ca4b454eff439f0a67bc2b166330021f4"
+        ],
+        "windows_armv6l": [
+          "go1.22.0.windows-arm.zip",
+          "495c7dfaea4e2bf48643662bb622e4ce6378d6d9840015238ad4b8792b99ddbf"
+        ]
+      },
+      "1.22.4": {
+        "aix_ppc64": [
+          "go1.22.4.aix-ppc64.tar.gz",
+          "b9647fa9fc83a0cc5d4f092a19eaeaecf45f063a5aa7d4962fde65aeb7ae6ce1"
+        ],
+        "darwin_amd64": [
+          "go1.22.4.darwin-amd64.tar.gz",
+          "c95967f50aa4ace34af0c236cbdb49a9a3e80ee2ad09d85775cb4462a5c19ed3"
+        ],
+        "darwin_arm64": [
+          "go1.22.4.darwin-arm64.tar.gz",
+          "242b78dc4c8f3d5435d28a0d2cec9b4c1aa999b601fb8aa59fb4e5a1364bf827"
+        ],
+        "dragonfly_amd64": [
+          "go1.22.4.dragonfly-amd64.tar.gz",
+          "f2fbb51af4719d3616efb482d6ed2b96579b474156f85a7ddc6f126764feec4b"
+        ],
+        "freebsd_386": [
+          "go1.22.4.freebsd-386.tar.gz",
+          "7c54884bb9f274884651d41e61d1bc12738863ad1497e97ea19ad0e9aa6bf7b5"
+        ],
+        "freebsd_amd64": [
+          "go1.22.4.freebsd-amd64.tar.gz",
+          "88d44500e1701dd35797619774d6dd51bf60f45a8338b0a82ddc018e4e63fb78"
+        ],
+        "freebsd_arm64": [
+          "go1.22.4.freebsd-arm64.tar.gz",
+          "726dc093cf020277be45debf03c3b02b43c2efb3e2a5d4fba8f52579d65327dc"
+        ],
+        "freebsd_armv6l": [
+          "go1.22.4.freebsd-arm.tar.gz",
+          "3d9efe47db142a22679aba46b1772e3900b0d87ae13bd2b3bc80dbf2ac0b2cd6"
+        ],
+        "freebsd_riscv64": [
+          "go1.22.4.freebsd-riscv64.tar.gz",
+          "5f6b67e5e32f1d6ccb2d4dcb44934a5e2e870a877ba7443d86ec43cfc28afa71"
+        ],
+        "illumos_amd64": [
+          "go1.22.4.illumos-amd64.tar.gz",
+          "d56ecc2f85b6418a21ef83879594d0c42ab4f65391a676bb12254870e6690d63"
+        ],
+        "linux_386": [
+          "go1.22.4.linux-386.tar.gz",
+          "47a2a8d249a91eb8605c33bceec63aedda0441a43eac47b4721e3975ff916cec"
+        ],
+        "linux_amd64": [
+          "go1.22.4.linux-amd64.tar.gz",
+          "ba79d4526102575196273416239cca418a651e049c2b099f3159db85e7bade7d"
+        ],
+        "linux_arm64": [
+          "go1.22.4.linux-arm64.tar.gz",
+          "a8e177c354d2e4a1b61020aca3562e27ea3e8f8247eca3170e3fa1e0c2f9e771"
+        ],
+        "linux_armv6l": [
+          "go1.22.4.linux-armv6l.tar.gz",
+          "e2b143fbacbc9cbd448e9ef41ac3981f0488ce849af1cf37e2341d09670661de"
+        ],
+        "linux_loong64": [
+          "go1.22.4.linux-loong64.tar.gz",
+          "e2ff9436e4b34bf6926b06d97916e26d67a909a2effec17967245900f0816f1d"
+        ],
+        "linux_mips": [
+          "go1.22.4.linux-mips.tar.gz",
+          "73f0dcc60458c4770593b05a7bc01cc0d31fc98f948c0c2334812c7a1f2fc3f1"
+        ],
+        "linux_mips64": [
+          "go1.22.4.linux-mips64.tar.gz",
+          "417af97fc2630a647052375768be4c38adcc5af946352ea5b28613ea81ca5d45"
+        ],
+        "linux_mips64le": [
+          "go1.22.4.linux-mips64le.tar.gz",
+          "7486e2d7dd8c98eb44df815ace35a7fe7f30b7c02326e3741bd934077508139b"
+        ],
+        "linux_mipsle": [
+          "go1.22.4.linux-mipsle.tar.gz",
+          "69479c8aad301e459a8365b40cad1074a0dbba5defb9291669f94809c4c4be6e"
+        ],
+        "linux_ppc64": [
+          "go1.22.4.linux-ppc64.tar.gz",
+          "dd238847e65bc3e2745caca475a5db6522a2fcf85cf6c38fc36a06642b19efd7"
+        ],
+        "linux_ppc64le": [
+          "go1.22.4.linux-ppc64le.tar.gz",
+          "a3e5834657ef92523f570f798fed42f1f87bc18222a16815ec76b84169649ec4"
+        ],
+        "linux_riscv64": [
+          "go1.22.4.linux-riscv64.tar.gz",
+          "56a827ff7dc6245bcd7a1e9288dffaa1d8b0fd7468562264c1523daf3b4f1b4a"
+        ],
+        "linux_s390x": [
+          "go1.22.4.linux-s390x.tar.gz",
+          "7590c3e278e2dc6040aae0a39da3ca1eb2e3921673a7304cc34d588c45889eec"
+        ],
+        "netbsd_386": [
+          "go1.22.4.netbsd-386.tar.gz",
+          "ddd2eebe34471a2502de6c5dad04ab27c9fc80cbde7a9ad5b3c66ecec4504e1d"
+        ],
+        "netbsd_amd64": [
+          "go1.22.4.netbsd-amd64.tar.gz",
+          "33af79f6f935f6fbacc5d23876450b3567b79348fc065beef8e64081127dd234"
+        ],
+        "netbsd_arm64": [
+          "go1.22.4.netbsd-arm64.tar.gz",
+          "c9a2971dec9f6d320c6f2b049b2353c6d0a2d35e87b8a4b2d78a2f0d62545f8e"
+        ],
+        "netbsd_armv6l": [
+          "go1.22.4.netbsd-arm.tar.gz",
+          "fa3550ebd5375a70b3bcd342b5a71f4bd271dcbbfaf4eabefa2144ab5d8924b6"
+        ],
+        "openbsd_386": [
+          "go1.22.4.openbsd-386.tar.gz",
+          "d21af022331bfdc2b5b161d616c3a1a4573d33cf7a30416ee509a8f3641deb47"
+        ],
+        "openbsd_amd64": [
+          "go1.22.4.openbsd-amd64.tar.gz",
+          "72c0094c43f7e5722ec49c2a3e9dfa7a1123ac43a5f3a63eecf3e3795d3ff0ae"
+        ],
+        "openbsd_arm64": [
+          "go1.22.4.openbsd-arm64.tar.gz",
+          "a7ab8d4e0b02bf06ed144ba42c61c0e93ee00f2b433415dfd4ad4b6e79f31650"
+        ],
+        "openbsd_armv6l": [
+          "go1.22.4.openbsd-arm.tar.gz",
+          "1096831ea3c5ea3ca57d14251d9eda3786889531eb40d7d6775dcaa324d4b065"
+        ],
+        "openbsd_ppc64": [
+          "go1.22.4.openbsd-ppc64.tar.gz",
+          "9716327c8a628358798898dc5148c49dbbeb5196bf2cbf088e550721a6e4f60b"
+        ],
+        "plan9_386": [
+          "go1.22.4.plan9-386.tar.gz",
+          "a8dd4503c95c32a502a616ab78870a19889c9325fe9bd31eb16dd69346e4bfa8"
+        ],
+        "plan9_amd64": [
+          "go1.22.4.plan9-amd64.tar.gz",
+          "5423a25808d76fe5aca8607a2e5ac5673abf45446b168cb5e9d8519ee9fe39a1"
+        ],
+        "plan9_armv6l": [
+          "go1.22.4.plan9-arm.tar.gz",
+          "6af939ad583f5c85c09c53728ab7d38c3cc2b39167562d6c18a07c5c6608b370"
+        ],
+        "solaris_amd64": [
+          "go1.22.4.solaris-amd64.tar.gz",
+          "e8cabe69c03085725afdb32a6f9998191a3e55a747b270d835fd05000d56abba"
+        ],
+        "windows_386": [
+          "go1.22.4.windows-386.zip",
+          "aca4e2c37278a10f1c70dd0df142f7d66b50334fcee48978d409202d308d6d25"
+        ],
+        "windows_amd64": [
+          "go1.22.4.windows-amd64.zip",
+          "26321c4d945a0035d8a5bc4a1965b0df401ff8ceac66ce2daadabf9030419a98"
+        ],
+        "windows_arm64": [
+          "go1.22.4.windows-arm64.zip",
+          "8a2daa9ea28cbdafddc6171aefed384f4e5b6e714fb52116fe9ed25a132f37ed"
+        ],
+        "windows_armv6l": [
+          "go1.22.4.windows-arm.zip",
+          "5fcd0671a49cecf39b41021621ee1b6e7aa1370f37122b72e80d4fd4185833b6"
+        ]
+      },
+      "1.24.0": {
+        "aix_ppc64": [
+          "go1.24.0.aix-ppc64.tar.gz",
+          "5d04588154d5923bd8e26b76111806340ec55c41af1b05623ea744fcb3d6bc22"
+        ],
+        "darwin_amd64": [
+          "go1.24.0.darwin-amd64.tar.gz",
+          "7af054e5088b68c24b3d6e135e5ca8d91bbd5a05cb7f7f0187367b3e6e9e05ee"
+        ],
+        "darwin_arm64": [
+          "go1.24.0.darwin-arm64.tar.gz",
+          "fd9cfb5dd6c75a347cfc641a253f0db1cebaca16b0dd37965351c6184ba595e4"
+        ],
+        "dragonfly_amd64": [
+          "go1.24.0.dragonfly-amd64.tar.gz",
+          "d0dc34ad86aea746abe245994c68a9e1ad8f46ba8c4af901cd5861a4dd4c21df"
+        ],
+        "freebsd_386": [
+          "go1.24.0.freebsd-386.tar.gz",
+          "4ee02b1f3812aff4da79c79464ee4038ca61ad74b3a9619850f30435f81c2536"
+        ],
+        "freebsd_amd64": [
+          "go1.24.0.freebsd-amd64.tar.gz",
+          "838191001f9324da904dece35a586a3156d548687db87ac9461aa3d38fc88b09"
+        ],
+        "freebsd_arm": [
+          "go1.24.0.freebsd-arm.tar.gz",
+          "ce6ad4e84a40a8a1d848b7e31b0cddfd1cee8f7959e7dc358a8fa8b5566ea718"
+        ],
+        "freebsd_arm64": [
+          "go1.24.0.freebsd-arm64.tar.gz",
+          "511f7b0cac4c4ed1066d324072ce223b906ad6b2a85f2e1c5d260eb7d08b5901"
+        ],
+        "freebsd_riscv64": [
+          "go1.24.0.freebsd-riscv64.tar.gz",
+          "a1e4072630dc589a2975ef51317b52c7d8599bf6f389fc59033c01e0a0fa705a"
+        ],
+        "illumos_amd64": [
+          "go1.24.0.illumos-amd64.tar.gz",
+          "7593e9dcee9f07c3df6d099f7d259f5734a6c0dccc5f28962f18e7f501c9bb21"
+        ],
+        "linux_386": [
+          "go1.24.0.linux-386.tar.gz",
+          "90521453a59c6ce20364d2dc7c38532949b033b602ba12d782caeb90af1b0624"
+        ],
+        "linux_amd64": [
+          "go1.24.0.linux-amd64.tar.gz",
+          "dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858"
+        ],
+        "linux_arm64": [
+          "go1.24.0.linux-arm64.tar.gz",
+          "c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7"
+        ],
+        "linux_armv6l": [
+          "go1.24.0.linux-armv6l.tar.gz",
+          "695dc54fa14cd3124fa6900d7b5ae39eeac23f7a4ecea81656070160fac2c54a"
+        ],
+        "linux_loong64": [
+          "go1.24.0.linux-loong64.tar.gz",
+          "a201e4c9b7e6d29ed64c43296ed88e81a66f82f2093ce45b766d2c526941396f"
+        ],
+        "linux_mips": [
+          "go1.24.0.linux-mips.tar.gz",
+          "f3ac039aae78ad0bfb08106406c2e62eaf763dd82ebaf0ecd539adadd1d729a6"
+        ],
+        "linux_mips64": [
+          "go1.24.0.linux-mips64.tar.gz",
+          "f2e6456d45e024831b1da8d88b1bb6392cca9500c1b00841f525d76c9e9553e0"
+        ],
+        "linux_mips64le": [
+          "go1.24.0.linux-mips64le.tar.gz",
+          "b847893ff119389c939adc2b8516b6500204b7cb49d5e19b25e1c2091d2c74c6"
+        ],
+        "linux_mipsle": [
+          "go1.24.0.linux-mipsle.tar.gz",
+          "bd4aed27d02746c237c3921e97029ac6b6fe687a67436b8f52ff1f698d330bd9"
+        ],
+        "linux_ppc64": [
+          "go1.24.0.linux-ppc64.tar.gz",
+          "007123c9b06c41729a4bb3f166f4df7196adf4e33c2d2ab0e7e990175f0ce1d4"
+        ],
+        "linux_ppc64le": [
+          "go1.24.0.linux-ppc64le.tar.gz",
+          "a871a43de7d26c91dd90cb6e0adacb214c9e35ee2188c617c91c08c017efe81a"
+        ],
+        "linux_riscv64": [
+          "go1.24.0.linux-riscv64.tar.gz",
+          "620dcf48c6297519aad6c81f8e344926dc0ab09a2a79f1e306964aece95a553d"
+        ],
+        "linux_s390x": [
+          "go1.24.0.linux-s390x.tar.gz",
+          "544d78b077c6b54bf78958c4a8285abec2d21f668fb007261c77418cd2edbb46"
+        ],
+        "netbsd_386": [
+          "go1.24.0.netbsd-386.tar.gz",
+          "8b143a7edefbaa2a0b0246c9df2df1bac9fbed909d8615a375c08da7744e697d"
+        ],
+        "netbsd_amd64": [
+          "go1.24.0.netbsd-amd64.tar.gz",
+          "67150a6dd7bdb9c4e88d77f46ee8c4dc99d5e71deca4912d8c2c85f7a16d0262"
+        ],
+        "netbsd_arm": [
+          "go1.24.0.netbsd-arm.tar.gz",
+          "446b2539f11218fd6f6f6e3dd90b20ae55a06afe129885eeb3df51eb344eb0f6"
+        ],
+        "netbsd_arm64": [
+          "go1.24.0.netbsd-arm64.tar.gz",
+          "370115b6ff7d30b29431223de348eb11ab65e3c92627532d97fd55f63f94e7a8"
+        ],
+        "openbsd_386": [
+          "go1.24.0.openbsd-386.tar.gz",
+          "cbda5f15f06ed9630f122a53542d9de13d149643633c74f1dcb45e79649b788a"
+        ],
+        "openbsd_amd64": [
+          "go1.24.0.openbsd-amd64.tar.gz",
+          "926f601d0e655ab1e8d7f357fd82542e5cf206c38c4e2f9fccf0706987d38836"
+        ],
+        "openbsd_arm": [
+          "go1.24.0.openbsd-arm.tar.gz",
+          "8a54892f8c933c541fff144a825d0fdc41bae14b0832aab703cb75eb4cb64f2c"
+        ],
+        "openbsd_arm64": [
+          "go1.24.0.openbsd-arm64.tar.gz",
+          "ef7fddcef0a22c7900c178b7687cf5aa25c2a9d46a3cc330b77a6de6e6c2396b"
+        ],
+        "openbsd_ppc64": [
+          "go1.24.0.openbsd-ppc64.tar.gz",
+          "b3b5e2e2b53489ded2c2c21900ddcbbdb7991632bb5b42f05f125d71675e0b76"
+        ],
+        "openbsd_riscv64": [
+          "go1.24.0.openbsd-riscv64.tar.gz",
+          "fbcb1dbf1269b4079dc4fd0b15f3274b9d635f1a7e319c3fc1a907b03280348e"
+        ],
+        "plan9_386": [
+          "go1.24.0.plan9-386.tar.gz",
+          "33b4221e1c174a16e3f661deab6c60838ac4ae6cb869a4da1d1115773ceed88b"
+        ],
+        "plan9_amd64": [
+          "go1.24.0.plan9-amd64.tar.gz",
+          "111a89014019cdbd69c2978de9b3e201f77e35183c8ab3606fba339d38f28549"
+        ],
+        "plan9_arm": [
+          "go1.24.0.plan9-arm.tar.gz",
+          "8da3d3997049f40ebe0cd336a9bb9e4bfa4832df3c90a32f07383371d6d74849"
+        ],
+        "solaris_amd64": [
+          "go1.24.0.solaris-amd64.tar.gz",
+          "b6069da21dc95ccdbd047675b584e5480ffc3eba35f9e7c8b0e7b317aaf01e2c"
+        ],
+        "windows_386": [
+          "go1.24.0.windows-386.zip",
+          "b53c28a4c2863ec50ab4a1dbebe818ef6177f86773b6f43475d40a5d9aa4ec9e"
+        ],
+        "windows_amd64": [
+          "go1.24.0.windows-amd64.zip",
+          "96b7280979205813759ee6947be7e3bb497da85c482711116c00522e3bb41ff1"
+        ],
+        "windows_arm64": [
+          "go1.24.0.windows-arm64.zip",
+          "53f73450fb66075d16be9f206e9177bd972b528168271918c4747903b5596c3d"
+        ]
+      },
+      "1.25.0": {
+        "aix_ppc64": [
+          "go1.25.0.aix-ppc64.tar.gz",
+          "e5234a7dac67bc86c528fe9752fc9d63557918627707a733ab4cac1a6faed2d4"
+        ],
+        "darwin_amd64": [
+          "go1.25.0.darwin-amd64.tar.gz",
+          "5bd60e823037062c2307c71e8111809865116714d6f6b410597cf5075dfd80ef"
+        ],
+        "darwin_arm64": [
+          "go1.25.0.darwin-arm64.tar.gz",
+          "544932844156d8172f7a28f77f2ac9c15a23046698b6243f633b0a0b00c0749c"
+        ],
+        "dragonfly_amd64": [
+          "go1.25.0.dragonfly-amd64.tar.gz",
+          "5ed3cf9a810a1483822538674f1336c06b51aa1b94d6d545a1a0319a48177120"
+        ],
+        "freebsd_386": [
+          "go1.25.0.freebsd-386.tar.gz",
+          "abea5d5c6697e6b5c224731f2158fe87c602996a2a233ac0c4730cd57bf8374e"
+        ],
+        "freebsd_amd64": [
+          "go1.25.0.freebsd-amd64.tar.gz",
+          "86e6fe0a29698d7601c4442052dac48bd58d532c51cccb8f1917df648138730b"
+        ],
+        "freebsd_arm": [
+          "go1.25.0.freebsd-arm.tar.gz",
+          "d90b78e41921f72f30e8bbc81d9dec2cff7ff384a33d8d8debb24053e4336bfe"
+        ],
+        "freebsd_arm64": [
+          "go1.25.0.freebsd-arm64.tar.gz",
+          "451d0da1affd886bfb291b7c63a6018527b269505db21ce6e14724f22ab0662e"
+        ],
+        "freebsd_riscv64": [
+          "go1.25.0.freebsd-riscv64.tar.gz",
+          "7b565f76bd8bda46549eeaaefe0e53b251e644c230577290c0f66b1ecdb3cdbe"
+        ],
+        "illumos_amd64": [
+          "go1.25.0.illumos-amd64.tar.gz",
+          "b1e1fdaab1ad25aa1c08d7a36c97d45d74b98b89c3f78c6d2145f77face54a2c"
+        ],
+        "linux_386": [
+          "go1.25.0.linux-386.tar.gz",
+          "8c602dd9d99bc9453b3995d20ce4baf382cc50855900a0ece5de9929df4a993a"
+        ],
+        "linux_amd64": [
+          "go1.25.0.linux-amd64.tar.gz",
+          "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613"
+        ],
+        "linux_arm64": [
+          "go1.25.0.linux-arm64.tar.gz",
+          "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae"
+        ],
+        "linux_armv6l": [
+          "go1.25.0.linux-armv6l.tar.gz",
+          "a5a8f8198fcf00e1e485b8ecef9ee020778bf32a408a4e8873371bfce458cd09"
+        ],
+        "linux_loong64": [
+          "go1.25.0.linux-loong64.tar.gz",
+          "cab86b1cf761b1cb3bac86a8877cfc92e7b036fc0d3084123d77013d61432afc"
+        ],
+        "linux_mips": [
+          "go1.25.0.linux-mips.tar.gz",
+          "d66b6fb74c3d91b9829dc95ec10ca1f047ef5e89332152f92e136cf0e2da5be1"
+        ],
+        "linux_mips64": [
+          "go1.25.0.linux-mips64.tar.gz",
+          "4082e4381a8661bc2a839ff94ba3daf4f6cde20f8fb771b5b3d4762dc84198a2"
+        ],
+        "linux_mips64le": [
+          "go1.25.0.linux-mips64le.tar.gz",
+          "70002c299ec7f7175ac2ef673b1b347eecfa54ae11f34416a6053c17f855afcc"
+        ],
+        "linux_mipsle": [
+          "go1.25.0.linux-mipsle.tar.gz",
+          "b00a3a39eff099f6df9f1c7355bf28e4589d0586f42d7d4a394efb763d145a73"
+        ],
+        "linux_ppc64": [
+          "go1.25.0.linux-ppc64.tar.gz",
+          "df166f33bd98160662560a72ff0b4ba731f969a80f088922bddcf566a88c1ec1"
+        ],
+        "linux_ppc64le": [
+          "go1.25.0.linux-ppc64le.tar.gz",
+          "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0"
+        ],
+        "linux_riscv64": [
+          "go1.25.0.linux-riscv64.tar.gz",
+          "c018ff74a2c48d55c8ca9b07c8e24163558ffec8bea08b326d6336905d956b67"
+        ],
+        "linux_s390x": [
+          "go1.25.0.linux-s390x.tar.gz",
+          "34e5a2e19f2292fbaf8783e3a241e6e49689276aef6510a8060ea5ef54eee408"
+        ],
+        "netbsd_386": [
+          "go1.25.0.netbsd-386.tar.gz",
+          "f8586cdb7aa855657609a5c5f6dbf523efa00c2bbd7c76d3936bec80aa6c0aba"
+        ],
+        "netbsd_amd64": [
+          "go1.25.0.netbsd-amd64.tar.gz",
+          "ae8dc1469385b86a157a423bb56304ba45730de8a897615874f57dd096db2c2a"
+        ],
+        "netbsd_arm": [
+          "go1.25.0.netbsd-arm.tar.gz",
+          "1ff7e4cc764425fc9dd6825eaee79d02b3c7cafffbb3691687c8d672ade76cb7"
+        ],
+        "netbsd_arm64": [
+          "go1.25.0.netbsd-arm64.tar.gz",
+          "e1b310739f26724216aa6d7d7208c4031f9ff54c9b5b9a796ddc8bebcb4a5f16"
+        ],
+        "openbsd_386": [
+          "go1.25.0.openbsd-386.tar.gz",
+          "4802a9b20e533da91adb84aab42e94aa56cfe3e5475d0550bed3385b182e69d8"
+        ],
+        "openbsd_amd64": [
+          "go1.25.0.openbsd-amd64.tar.gz",
+          "c016cd984bebe317b19a4f297c4f50def120dc9788490540c89f28e42f1dabe1"
+        ],
+        "openbsd_arm": [
+          "go1.25.0.openbsd-arm.tar.gz",
+          "a1e31d0bf22172ddde42edf5ec811ef81be43433df0948ece52fecb247ccfd8d"
+        ],
+        "openbsd_arm64": [
+          "go1.25.0.openbsd-arm64.tar.gz",
+          "343ea8edd8c218196e15a859c6072d0dd3246fbbb168481ab665eb4c4140458d"
+        ],
+        "openbsd_ppc64": [
+          "go1.25.0.openbsd-ppc64.tar.gz",
+          "694c14da1bcaeb5e3332d49bdc2b6d155067648f8fe1540c5de8f3cf8e157154"
+        ],
+        "openbsd_riscv64": [
+          "go1.25.0.openbsd-riscv64.tar.gz",
+          "aa510ad25cf54c06cd9c70b6d80ded69cb20188ac6e1735655eef29ff7e7885f"
+        ],
+        "plan9_386": [
+          "go1.25.0.plan9-386.tar.gz",
+          "46f8cef02086cf04bf186c5912776b56535178d4cb319cd19c9fdbdd29231986"
+        ],
+        "plan9_amd64": [
+          "go1.25.0.plan9-amd64.tar.gz",
+          "29b34391d84095e44608a228f63f2f88113a37b74a79781353ec043dfbcb427b"
+        ],
+        "plan9_arm": [
+          "go1.25.0.plan9-arm.tar.gz",
+          "0a047107d13ebe7943aaa6d54b1d7bbd2e45e68ce449b52915a818da715799c2"
+        ],
+        "solaris_amd64": [
+          "go1.25.0.solaris-amd64.tar.gz",
+          "9977f9e4351984364a3b2b78f8b88bfd1d339812356d5237678514594b7d3611"
+        ],
+        "windows_386": [
+          "go1.25.0.windows-386.zip",
+          "df9f39db82a803af0db639e3613a36681ab7a42866b1384b3f3a1045663961a7"
+        ],
+        "windows_amd64": [
+          "go1.25.0.windows-amd64.zip",
+          "89efb4f9b30812eee083cc1770fdd2913c14d301064f6454851428f9707d190b"
+        ],
+        "windows_arm64": [
+          "go1.25.0.windows-arm64.zip",
+          "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c"
+        ]
+      }
+    }
+  }
 }

From 346704410622c0863cbb5cf04a1578f426cf797e Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:33:59 +0000
Subject: [PATCH 13/80] config_management: patch to persistency's score/kvs
 headers and enum builder API

Since the persistency bump (cb89c10/3193244) //score/kvs no longer exports its
headers under a bare include path, so config_management's
'#include "kvs.hpp"' fails in every image build ("kvs.hpp: No such file or
directory"). Persistency main also replaced the bool builder flags with
enums.

patches/config_management/003:
- include score/kvs/kvs.h, kvs_builder.h, kvs_value.h; depend on
  @score_persistency//score/kvs instead of the deprecated //:kvs_cpp alias
- move the unit-test KVS stub headers to score_kvs_stub/score/kvs/ so the same
  includes resolve to the stub in the unit-test variant
- KvsBuilder: need_defaults_flag(false)/need_kvs_flag(false)/dir() ->
  Defaults(kOptional)/KvsLoad(kOptional)/WorkingDir() (same semantics); the
  stub mirrors the new API

Should be fixed upstream in eclipse-score/config_management.
---
 .../score_modules_target_sw.MODULE.bazel      |   1 +
 known_good.json                               |   3 +-
 .../003-migrate-to-persistency-kvs-api.patch  | 555 ++++++++++++++++++
 3 files changed, 558 insertions(+), 1 deletion(-)
 create mode 100644 patches/config_management/003-migrate-to-persistency-kvs-api.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 86f102f43e0..7613b01155c 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -101,6 +101,7 @@ git_override(
     patches = [
         "//patches/config_management:001-adapt-proxy-api-and-remove-internal-targets.patch",
         "//patches/config_management:002-migrate-baselibs-targets.patch",
+        "//patches/config_management:003-migrate-to-persistency-kvs-api.patch",
     ],
     remote = "https://github.com/eclipse-score/config_management.git",
 )
diff --git a/known_good.json b/known_good.json
index 8dc18e64d8d..94ce64f299b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -226,7 +226,8 @@
                 "hash": "d0dab01ae408ceb8ec65344e93d8a51d8173da81",
                 "bazel_patches": [
                     "//patches/config_management:001-adapt-proxy-api-and-remove-internal-targets.patch",
-                    "//patches/config_management:002-migrate-baselibs-targets.patch"
+                    "//patches/config_management:002-migrate-baselibs-targets.patch",
+                    "//patches/config_management:003-migrate-to-persistency-kvs-api.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/config_management/...",
diff --git a/patches/config_management/003-migrate-to-persistency-kvs-api.patch b/patches/config_management/003-migrate-to-persistency-kvs-api.patch
new file mode 100644
index 00000000000..995fe19a0a8
--- /dev/null
+++ b/patches/config_management/003-migrate-to-persistency-kvs-api.patch
@@ -0,0 +1,555 @@
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
+@@ -48,7 +48,7 @@ COMMON_FEATURES = [
+             "details_score",
+             False,
+             [
+-                "@score_persistency//:kvs_cpp",
++                "@score_persistency//score/kvs",
+             ],
+         ),
+         (
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
+@@ -16,7 +16,7 @@
+ #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
+ #include "score/config_management/config_daemon/code/data_model/parameterset_collection.h"
+ 
+-#include "kvsvalue.hpp"
++#include "score/kvs/kvs_value.h"
+ #include "score/json/json_writer.h"
+ #include "score/hash/code/common/algorithms.h"
+ #include "score/hash/code/core/factory/impl/safe_hash_calculator_factory.h"
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
+@@ -16,7 +16,7 @@
+ 
+ #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/parameter_set_storage.h"
+ 
+-#include "kvs.hpp"
++#include "score/kvs/kvs.h"
+ 
+ #include 
+ #include 
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
+@@ -13,23 +13,23 @@
+ 
+ load("@rules_cc//cc:defs.bzl", "cc_library")
+ 
+-# Stub replacements for score-persistency headers (kvs.hpp / kvsbuilder.hpp / kvsvalue.hpp).
++# Stub replacements for score-persistency headers (score/kvs/kvs.h / kvs_builder.h / kvs_value.h).
+ # Used when compiling score-variant source files (e.g. factory_mw_impl.cpp,
+ # parameter_set_storage_score_impl.cpp) under the SPP toolchain where the real
+ # score-baselibs / score-persistency headers would cause namespace clashes.
+ #
+ # The stubs expose exactly the same types and method signatures used by those files
+ # but have no real implementation — every operation is a no-op / returns failure.
+-# On the actual score build, the real @score-persistency//:kvs_cpp is used instead.
++# On the actual score build, the real @score_persistency//score/kvs is used instead.
+ cc_library(
+     name = "score_kvs_stub",
+     hdrs = [
+-        "kvs.hpp",
+-        "kvsbuilder.hpp",
+-        "kvsvalue.hpp",
++        "score/kvs/kvs.h",
++        "score/kvs/kvs_builder.h",
++        "score/kvs/kvs_value.h",
+     ],
+     # Expose the directory itself as a system include path so that
+-    # `#include "kvs.hpp"` resolves here, mirroring how score-persistency does it.
++    # `#include "score/kvs/kvs.h"` resolves here, mirroring score-persistency's header paths.
+     includes = ["."],
+     tags = ["FUSA"],
+     visibility = [
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
+deleted file mode 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
++++ /dev/null
+@@ -1,69 +0,0 @@
+-// *******************************************************************************
+-// Copyright (c) 2025 Contributors to the Eclipse Foundation
+-//
+-// See the NOTICE file(s) distributed with this work for additional
+-// information regarding copyright ownership.
+-//
+-// This program and the accompanying materials are made available under the
+-// terms of the Apache License Version 2.0 which is available at
+-// https://www.apache.org/licenses/LICENSE-2.0
+-//
+-// SPDX-License-Identifier: Apache-2.0
+-// *******************************************************************************
+-
+-#ifndef SCORE_LIB_KVS_KVS_HPP
+-#define SCORE_LIB_KVS_KVS_HPP
+-
+-#include "kvsvalue.hpp"
+-
+-#include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
+-
+-#include 
+-#include 
+-
+-namespace score::mw::per::kvs
+-{
+-
+-struct InstanceId
+-{
+-    explicit InstanceId(std::size_t id) : id{id} {}
+-    std::size_t id{0U};
+-};
+-
+-// Stub for score-persistency's Kvs. Concrete so make_unique(unique_ptr) in
+-// factory_mw_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
+-class Kvs
+-{
+-  public:
+-    Kvs() = default;
+-    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_impl.cpp.
+-    explicit Kvs(std::unique_ptr /*inner*/) noexcept {}
+-    virtual ~Kvs() = default;
+-    Kvs(const Kvs&) = delete;
+-    Kvs& operator=(const Kvs&) = delete;
+-    Kvs(Kvs&&) noexcept = delete;
+-    Kvs& operator=(Kvs&&) noexcept = delete;
+-
+-    // NOLINTBEGIN(readability-identifier-naming)
+-    virtual score::Result get_value(std::string_view /*key*/) noexcept
+-    {
+-        return score::MakeUnexpected(
+-            score::MakeUnexpected(::score::config_management::config_daemon::data_model::ParameterSetStorageError::kDataNotFound)
+-                .error());
+-    }
+-    virtual score::Result set_value(std::string_view /*key*/, const KvsValue& /*value*/) noexcept
+-    {
+-        return score::MakeUnexpected(
+-            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
+-    }
+-    virtual score::Result flush() noexcept
+-    {
+-        return score::MakeUnexpected(
+-            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
+-    }
+-    // NOLINTEND(readability-identifier-naming)
+-};
+-
+-}  // namespace score::mw::per::kvs
+-
+-#endif  // SCORE_LIB_KVS_KVS_HPP
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
+@@ -14,7 +14,7 @@
+ #ifndef SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
+ #define SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
+ 
+-#include "kvs.hpp"
++#include "score/kvs/kvs.h"
+ 
+ #include 
+ 
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
+deleted file mode 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
++++ /dev/null
+@@ -1,55 +0,0 @@
+-// *******************************************************************************
+-// Copyright (c) 2025 Contributors to the Eclipse Foundation
+-//
+-// See the NOTICE file(s) distributed with this work for additional
+-// information regarding copyright ownership.
+-//
+-// This program and the accompanying materials are made available under the
+-// terms of the Apache License Version 2.0 which is available at
+-// https://www.apache.org/licenses/LICENSE-2.0
+-//
+-// SPDX-License-Identifier: Apache-2.0
+-// *******************************************************************************
+-
+-// Stub replacing score-persistency's kvsbuilder.hpp for SPP compilation.
+-// Only the subset of the API used by factory_mw_impl.cpp is provided.
+-
+-#ifndef SCORE_LIB_KVS_KVSBUILDER_HPP
+-#define SCORE_LIB_KVS_KVSBUILDER_HPP
+-
+-#include "kvs.hpp"
+-
+-#include 
+-#include 
+-
+-namespace score::mw::per::kvs
+-{
+-
+-/// @brief Stub KvsBuilder — build() always returns an empty (failure) Result.
+-class KvsBuilder final
+-{
+-  public:
+-    explicit KvsBuilder(const InstanceId& /*instance_id*/) {}
+-
+-    KvsBuilder& need_defaults_flag(bool /*flag*/) noexcept
+-    {
+-        return *this;
+-    }
+-    KvsBuilder& need_kvs_flag(bool /*flag*/) noexcept
+-    {
+-        return *this;
+-    }
+-    KvsBuilder& dir(std::string&& /*dir_path*/) noexcept
+-    {
+-        return *this;
+-    }
+-
+-    score::Result> build() noexcept
+-    {
+-        return score::Result>{std::make_unique()};
+-    }
+-};
+-
+-}  // namespace score::mw::per::kvs
+-
+-#endif  // SCORE_LIB_KVS_KVSBUILDER_HPP
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp
+deleted file mode 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp
++++ /dev/null
+@@ -1,78 +0,0 @@
+-// *******************************************************************************
+-// Copyright (c) 2025 Contributors to the Eclipse Foundation
+-//
+-// See the NOTICE file(s) distributed with this work for additional
+-// information regarding copyright ownership.
+-//
+-// This program and the accompanying materials are made available under the
+-// terms of the Apache License Version 2.0 which is available at
+-// https://www.apache.org/licenses/LICENSE-2.0
+-//
+-// SPDX-License-Identifier: Apache-2.0
+-// *******************************************************************************
+-
+-#ifndef SCORE_LIB_KVS_KVSVALUE_HPP
+-#define SCORE_LIB_KVS_KVSVALUE_HPP
+-
+-#include "score/result/result.h"
+-
+-#include 
+-#include 
+-#include 
+-#include 
+-#include 
+-
+-namespace score::mw::per::kvs
+-{
+-
+-class KvsValue final
+-{
+-  public:
+-    using Array = std::vector>;
+-    using Object = std::unordered_map>;
+-
+-    // NOLINTBEGIN(readability-identifier-naming) — enum constants mirror real score-persistency KvsValue::Type
+-    enum class Type
+-    {
+-        i32,
+-        u32,
+-        i64,
+-        u64,
+-        f64,
+-        Boolean,
+-        String,
+-        Null,
+-        Array,
+-        Object
+-    };
+-    // NOLINTEND(readability-identifier-naming)
+-
+-    explicit KvsValue(const std::string& str) : value_{str}, type_{Type::String} {}
+-    explicit KvsValue(std::string&& str) : value_{std::move(str)}, type_{Type::String} {}
+-    explicit KvsValue(Type type) : value_{std::string{}}, type_{type} {}
+-
+-    KvsValue(const KvsValue&) = default;
+-    KvsValue& operator=(const KvsValue&) = default;
+-    KvsValue(KvsValue&&) noexcept = default;
+-    KvsValue& operator=(KvsValue&&) noexcept = default;
+-
+-    // NOLINTBEGIN(readability-identifier-naming) — method names mirror real score-persistency KvsValue API
+-    Type getType() const noexcept
+-    {
+-        return type_;
+-    }
+-
+-    const std::variant& getValue() const noexcept
+-    {
+-        return value_;
+-    }
+-    // NOLINTEND(readability-identifier-naming)
+-
+-  private:
+-    std::variant value_;
+-    Type type_{Type::Null};
+-};
+-
+-}  // namespace score::mw::per::kvs
+-
+-#endif  // SCORE_LIB_KVS_KVSVALUE_HPP
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
+new file mode 100644
+--- /dev/null
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
+@@ -0,0 +1,69 @@
++// *******************************************************************************
++// Copyright (c) 2025 Contributors to the Eclipse Foundation
++//
++// See the NOTICE file(s) distributed with this work for additional
++// information regarding copyright ownership.
++//
++// This program and the accompanying materials are made available under the
++// terms of the Apache License Version 2.0 which is available at
++// https://www.apache.org/licenses/LICENSE-2.0
++//
++// SPDX-License-Identifier: Apache-2.0
++// *******************************************************************************
++
++#ifndef SCORE_LIB_KVS_KVS_HPP
++#define SCORE_LIB_KVS_KVS_HPP
++
++#include "score/kvs/kvs_value.h"
++
++#include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
++
++#include 
++#include 
++
++namespace score::mw::per::kvs
++{
++
++struct InstanceId
++{
++    explicit InstanceId(std::size_t id) : id{id} {}
++    std::size_t id{0U};
++};
++
++// Stub for score-persistency's Kvs. Concrete so make_unique(unique_ptr) in
++// factory_mw_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
++class Kvs
++{
++  public:
++    Kvs() = default;
++    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_impl.cpp.
++    explicit Kvs(std::unique_ptr /*inner*/) noexcept {}
++    virtual ~Kvs() = default;
++    Kvs(const Kvs&) = delete;
++    Kvs& operator=(const Kvs&) = delete;
++    Kvs(Kvs&&) noexcept = delete;
++    Kvs& operator=(Kvs&&) noexcept = delete;
++
++    // NOLINTBEGIN(readability-identifier-naming)
++    virtual score::Result get_value(std::string_view /*key*/) noexcept
++    {
++        return score::MakeUnexpected(
++            score::MakeUnexpected(::score::config_management::config_daemon::data_model::ParameterSetStorageError::kDataNotFound)
++                .error());
++    }
++    virtual score::Result set_value(std::string_view /*key*/, const KvsValue& /*value*/) noexcept
++    {
++        return score::MakeUnexpected(
++            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
++    }
++    virtual score::Result flush() noexcept
++    {
++        return score::MakeUnexpected(
++            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
++    }
++    // NOLINTEND(readability-identifier-naming)
++};
++
++}  // namespace score::mw::per::kvs
++
++#endif  // SCORE_LIB_KVS_KVS_HPP
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
+new file mode 100644
+--- /dev/null
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
+@@ -0,0 +1,70 @@
++// *******************************************************************************
++// Copyright (c) 2025 Contributors to the Eclipse Foundation
++//
++// See the NOTICE file(s) distributed with this work for additional
++// information regarding copyright ownership.
++//
++// This program and the accompanying materials are made available under the
++// terms of the Apache License Version 2.0 which is available at
++// https://www.apache.org/licenses/LICENSE-2.0
++//
++// SPDX-License-Identifier: Apache-2.0
++// *******************************************************************************
++
++// Stub replacing score-persistency's score/kvs/kvs_builder.h for SPP compilation.
++// Only the subset of the API used by factory_mw_impl.cpp is provided.
++
++#ifndef SCORE_LIB_KVS_KVSBUILDER_HPP
++#define SCORE_LIB_KVS_KVSBUILDER_HPP
++
++#include "score/kvs/kvs.h"
++
++#include 
++#include 
++#include 
++
++namespace score::mw::per::kvs
++{
++
++enum class KvsDefaults : std::uint8_t
++{
++    kRequired = 0,
++    kOptional = 1,
++    kIgnored = 2,
++};
++
++enum class KvsLoad : std::uint8_t
++{
++    kRequired = 0,
++    kOptional = 1,
++    kIgnored = 2,
++};
++
++/// @brief Stub KvsBuilder — build() always returns an empty (failure) Result.
++class KvsBuilder final
++{
++  public:
++    explicit KvsBuilder(const InstanceId& /*instance_id*/) {}
++
++    KvsBuilder& Defaults(const KvsDefaults& /*mode*/) noexcept
++    {
++        return *this;
++    }
++    KvsBuilder& KvsLoad(const score::mw::per::kvs::KvsLoad& /*mode*/) noexcept
++    {
++        return *this;
++    }
++    KvsBuilder& WorkingDir(const std::string& /*working_dir*/) noexcept
++    {
++        return *this;
++    }
++
++    score::Result> build() noexcept
++    {
++        return score::Result>{std::make_unique()};
++    }
++};
++
++}  // namespace score::mw::per::kvs
++
++#endif  // SCORE_LIB_KVS_KVSBUILDER_HPP
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
+new file mode 100644
+--- /dev/null
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
+@@ -0,0 +1,78 @@
++// *******************************************************************************
++// Copyright (c) 2025 Contributors to the Eclipse Foundation
++//
++// See the NOTICE file(s) distributed with this work for additional
++// information regarding copyright ownership.
++//
++// This program and the accompanying materials are made available under the
++// terms of the Apache License Version 2.0 which is available at
++// https://www.apache.org/licenses/LICENSE-2.0
++//
++// SPDX-License-Identifier: Apache-2.0
++// *******************************************************************************
++
++#ifndef SCORE_LIB_KVS_KVSVALUE_HPP
++#define SCORE_LIB_KVS_KVSVALUE_HPP
++
++#include "score/result/result.h"
++
++#include 
++#include 
++#include 
++#include 
++#include 
++
++namespace score::mw::per::kvs
++{
++
++class KvsValue final
++{
++  public:
++    using Array = std::vector>;
++    using Object = std::unordered_map>;
++
++    // NOLINTBEGIN(readability-identifier-naming) — enum constants mirror real score-persistency KvsValue::Type
++    enum class Type
++    {
++        i32,
++        u32,
++        i64,
++        u64,
++        f64,
++        Boolean,
++        String,
++        Null,
++        Array,
++        Object
++    };
++    // NOLINTEND(readability-identifier-naming)
++
++    explicit KvsValue(const std::string& str) : value_{str}, type_{Type::String} {}
++    explicit KvsValue(std::string&& str) : value_{std::move(str)}, type_{Type::String} {}
++    explicit KvsValue(Type type) : value_{std::string{}}, type_{type} {}
++
++    KvsValue(const KvsValue&) = default;
++    KvsValue& operator=(const KvsValue&) = default;
++    KvsValue(KvsValue&&) noexcept = default;
++    KvsValue& operator=(KvsValue&&) noexcept = default;
++
++    // NOLINTBEGIN(readability-identifier-naming) — method names mirror real score-persistency KvsValue API
++    Type getType() const noexcept
++    {
++        return type_;
++    }
++
++    const std::variant& getValue() const noexcept
++    {
++        return value_;
++    }
++    // NOLINTEND(readability-identifier-naming)
++
++  private:
++    std::variant value_;
++    Type type_{Type::Null};
++};
++
++}  // namespace score::mw::per::kvs
++
++#endif  // SCORE_LIB_KVS_KVSVALUE_HPP
+diff --git a/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp b/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
+--- a/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
++++ b/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
+@@ -18,7 +18,7 @@
+ #include "score/config_management/config_daemon/code/fault_event_reporter/details/fault_event_reporter_score_impl.h"
+ #include "score/config_management/config_daemon/code/json_helper/details/json_helper_impl.h"
+ 
+-#include "kvsbuilder.hpp"
++#include "score/kvs/kvs_builder.h"
+ #include "score/config_management/config_daemon/code/plugins/plugin_collector/details/plugin_collector_impl.h"
+ #include "score/config_management/config_daemon/code/services/details/internal_config_provider_service_reactor_impl.h"
+ #include "score/config_management/config_daemon/code/services/details/mw_com/internal_config_provider_service_impl.h"
+@@ -101,9 +101,9 @@ std::shared_ptr Factory::CreateParam
+     std::vector>& plugins) const
+ {
+     auto kvs_result = score::mw::per::kvs::KvsBuilder(score::mw::per::kvs::InstanceId{0U})
+-                          .need_defaults_flag(false)
+-                          .need_kvs_flag(false)
+-                          .dir("/persistent/trusted/ConfigDaemon")
++                          .Defaults(score::mw::per::kvs::KvsDefaults::kOptional)
++                          .KvsLoad(score::mw::per::kvs::KvsLoad::kOptional)
++                          .WorkingDir("/persistent/trusted/ConfigDaemon")
+                           .build();
+     if (!kvs_result.has_value())
+     {

From 7b91874e2b301b428528b2a85d865ec9f86af902 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:33:59 +0000
Subject: [PATCH 14/80] communication: declare safe_math dependency needed with
 baselibs 0.2.16

message_passing_service_instance.cpp includes safe_math.h but did not list
@score_baselibs//score/language/safecpp/safe_math; with baselibs 0.2.16 the
header is no longer reachable transitively ("safe_math.h: No such file or
directory"). communication main already has this dependency.
---
 bazel_common/score_modules_target_sw.MODULE.bazel |  1 +
 known_good.json                                   |  3 ++-
 patches/communication/006-add-safe-math-dep.patch | 11 +++++++++++
 3 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 patches/communication/006-add-safe-math-dep.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 7613b01155c..cddbbb877d5 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -36,6 +36,7 @@ git_override(
         "//patches/communication:003-module-deps-visibility.patch",
         "//patches/communication:004-rules-build-error-not-dev-dependency.patch",
         "//patches/communication:005-migrate-baselibs-rust-targets.patch",
+        "//patches/communication:006-add-safe-math-dep.patch",
     ],
     remote = "https://github.com/eclipse-score/communication.git",
 )
diff --git a/known_good.json b/known_good.json
index 94ce64f299b..493f530bc75 100644
--- a/known_good.json
+++ b/known_good.json
@@ -45,7 +45,8 @@
                     "//patches/communication:001-expose-comm-examples.patch",
                     "//patches/communication:003-module-deps-visibility.patch",
                     "//patches/communication:004-rules-build-error-not-dev-dependency.patch",
-                    "//patches/communication:005-migrate-baselibs-rust-targets.patch"
+                    "//patches/communication:005-migrate-baselibs-rust-targets.patch",
+                    "//patches/communication:006-add-safe-math-dep.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/mw/com/impl/...",
diff --git a/patches/communication/006-add-safe-math-dep.patch b/patches/communication/006-add-safe-math-dep.patch
new file mode 100644
index 00000000000..d0b2b83babd
--- /dev/null
+++ b/patches/communication/006-add-safe-math-dep.patch
@@ -0,0 +1,11 @@
+diff --git a/score/mw/com/impl/bindings/lola/messaging/BUILD b/score/mw/com/impl/bindings/lola/messaging/BUILD
+--- a/score/mw/com/impl/bindings/lola/messaging/BUILD
++++ b/score/mw/com/impl/bindings/lola/messaging/BUILD
+@@ -107,6 +107,7 @@
+         "//score/mw/com/impl:error_serializer",
+         "//score/mw/com/impl/bindings/lola/methods:method_error",
+         "@score_baselibs//score/concurrency:thread_pool",
++        "@score_baselibs//score/language/safecpp/safe_math",
+         "@score_baselibs//score/os:errno_logging",
+         "@score_communication//score/message_passing",
+     ],

From d2fb9d94c624fa2cf9789e23b65b8d2626431008 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:00 +0000
Subject: [PATCH 15/80] lifecycle: make the CodeQL pip hub a dev dependency

lifecycle v0.9.0 registers 'codeql_coding_standards_pip_hub' as a non-dev
pip hub. score_time declares a (dev) hub with the same name, so the time module
test, where score_time is the root module, fails with "Duplicate cross-module
pip hub named 'codeql_coding_standards_pip_hub'". The hub is only used by
lifecycle's own CodeQL tooling.
---
 .../score_modules_target_sw.MODULE.bazel      |  1 +
 known_good.json                               |  3 ++-
 .../003-dev-only-codeql-pip-hub.patch         | 19 +++++++++++++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 patches/lifecycle/003-dev-only-codeql-pip-hub.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index cddbbb877d5..f3da9c2e6ea 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -66,6 +66,7 @@ git_override(
     patch_strip = 1,
     patches = [
         "//patches/lifecycle:002-undev-integration-test-deps.patch",
+        "//patches/lifecycle:003-dev-only-codeql-pip-hub.patch",
     ],
     remote = "https://github.com/eclipse-score/lifecycle.git",
 )
diff --git a/known_good.json b/known_good.json
index 493f530bc75..1dcbbbefb4b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -128,7 +128,8 @@
             "score_lifecycle": {
                 "repo": "https://github.com/eclipse-score/lifecycle.git",
                 "bazel_patches": [
-                    "//patches/lifecycle:002-undev-integration-test-deps.patch"
+                    "//patches/lifecycle:002-undev-integration-test-deps.patch",
+                    "//patches/lifecycle:003-dev-only-codeql-pip-hub.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/...",
diff --git a/patches/lifecycle/003-dev-only-codeql-pip-hub.patch b/patches/lifecycle/003-dev-only-codeql-pip-hub.patch
new file mode 100644
index 00000000000..14a2b81f5e5
--- /dev/null
+++ b/patches/lifecycle/003-dev-only-codeql-pip-hub.patch
@@ -0,0 +1,19 @@
+diff --git a/MODULE.bazel b/MODULE.bazel
+--- a/MODULE.bazel
++++ b/MODULE.bazel
+@@ -294,12 +294,13 @@ pip.parse(
+ use_repo(pip, "score_lifecycle_pip")
+ 
+ # CodeQL Python dependencies
+-pip.parse(
++pip_dev = use_extension("@rules_python//python/extensions:pip.bzl", "pip", dev_dependency = True)
++pip_dev.parse(
+     hub_name = "codeql_coding_standards_pip_hub",
+     python_version = PYTHON_VERSION,
+     requirements_lock = "//externals/codeql:requirements_lock.txt",
+ )
+-use_repo(pip, "codeql_coding_standards_pip_hub")
++use_repo(pip_dev, "codeql_coding_standards_pip_hub")
+ 
+ bazel_dep(name = "score_itf", version = "0.6.0")
+ 

From e4781ce9a4629fdec3627675d6ccc0a6cf0669b7 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:00 +0000
Subject: [PATCH 16/80] logging: make the verification report links in the
 checklists relative

The datarouter and mw_log implementation inspection checklists link to the
module verification report with an absolute :doc: path, which resolves against
the reference_integration docs root once the logging docs are mounted
("unknown document: '/verification_report/module_verification_report'").
---
 .../score_modules_target_sw.MODULE.bazel      |  1 +
 known_good.json                               |  3 ++-
 ...3-relative-verification-report-links.patch | 24 +++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 patches/logging/003-relative-verification-report-links.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index f3da9c2e6ea..a394cafa2d2 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -78,6 +78,7 @@ git_override(
     patch_strip = 1,
     patches = [
         "//patches/logging:002-undev-component-test-deps.patch",
+        "//patches/logging:003-relative-verification-report-links.patch",
     ],
     remote = "https://github.com/eclipse-score/logging.git",
 )
diff --git a/known_good.json b/known_good.json
index 1dcbbbefb4b..aa804f17897 100644
--- a/known_good.json
+++ b/known_good.json
@@ -163,7 +163,8 @@
             "score_logging": {
                 "repo": "https://github.com/eclipse-score/logging.git",
                 "bazel_patches": [
-                    "//patches/logging:002-undev-component-test-deps.patch"
+                    "//patches/logging:002-undev-component-test-deps.patch",
+                    "//patches/logging:003-relative-verification-report-links.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/mw/log/...",
diff --git a/patches/logging/003-relative-verification-report-links.patch b/patches/logging/003-relative-verification-report-links.patch
new file mode 100644
index 00000000000..edf435f29dc
--- /dev/null
+++ b/patches/logging/003-relative-verification-report-links.patch
@@ -0,0 +1,24 @@
+diff --git a/docs/components/datarouter/detailed_design/chklst_impl_inspection.rst b/docs/components/datarouter/detailed_design/chklst_impl_inspection.rst
+--- a/docs/components/datarouter/detailed_design/chklst_impl_inspection.rst
++++ b/docs/components/datarouter/detailed_design/chklst_impl_inspection.rst
+@@ -161,7 +161,7 @@
+      - Are the static and dynamic code analysis reports verified for violations?
+      - All violations in ASIL related code must be justified. This includes the checks of coding guidelines.
+      - no
+-     - Refer to the generated :doc:`verification report `
++     - Refer to the generated :doc:`verification report <../../../verification_report/module_verification_report>`
+        and revision-specific CI results. A host run (Linux x86_64) of the unit
+        tests, clang-tidy, ASan/UBSan/LSan, TSan and Memcheck shows no findings.
+        Line and branch coverage are 82.6 % and 76.1 %. The QNX tests were not run.
+diff --git a/docs/components/mw_log/detailed_design/chklst_impl_inspection.rst b/docs/components/mw_log/detailed_design/chklst_impl_inspection.rst
+--- a/docs/components/mw_log/detailed_design/chklst_impl_inspection.rst
++++ b/docs/components/mw_log/detailed_design/chklst_impl_inspection.rst
+@@ -118,7 +118,7 @@
+      - Are the static and dynamic code analysis reports verified for violations?
+      - All violations in ASIL related code must be justified. This includes the checks of coding guidelines.
+      - no
+-     - Refer to the generated :doc:`verification report `
++     - Refer to the generated :doc:`verification report <../../../verification_report/module_verification_report>`
+        and revision-specific CI results.
+ 
+        Following issues need to be addressed:

From 2b2d4c11409ae1d549284656b6b726a0284ec561 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:00 +0000
Subject: [PATCH 17/80] module_tests: exclude logging's datarouter
 architectural-design validation

score_tooling's architectural-design validation fails on logging v0.2.5's
datarouter diagrams ("Entity 'datarouter' has children declared across more
than one component diagram file"), which aborts the logging module test before
any test runs. Excluded with a test note until fixed in score_logging.
---
 known_good.json | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/known_good.json b/known_good.json
index aa804f17897..eda3c76ef83 100644
--- a/known_good.json
+++ b/known_good.json
@@ -175,8 +175,12 @@
                         "@score_logging//score/datarouter/build_configuration_flags:use_local_vlan=True"
                     ],
                     "exclude_test_targets": [
-                        "//score/mw/log/legacy_non_verbose_api:unit_test"
+                        "//score/mw/log/legacy_non_verbose_api:unit_test",
+                        "//score/datarouter/doc/design:datarouter_architectural_design"
                     ],
+                    "test_notes": {
+                        "//score/datarouter/doc/design:datarouter_architectural_design": "TODO fix in score_logging: score_tooling's architectural-design validation rejects the datarouter diagrams ('datarouter' children split across context-sw-units.puml and detail-ipc.puml)"
+                    },
                     "integration_test_targets": [
                         "//score/test/component/..."
                     ],

From 873238a8474c470eb571a47abdf25cab382a6a9e Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:17 +0000
Subject: [PATCH 18/80] FIT: use SetValueToDefault instead of the removed
 Kvs::reset_key

score_persistency 41d7609 renamed Kvs::reset_key to SetValueToDefault (#585)
without a deprecated alias, so the C++ test scenarios no longer compiled
("'class score::kvs::Kvs' has no member named 'reset_key'").
---
 .../cpp/src/internals/persistency/kvs_instance.cpp              | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
index d6cf1979e89..901020bbcae 100644
--- a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
+++ b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
@@ -350,7 +350,7 @@ bool KvsInstance::reset() {
 }
 
 bool KvsInstance::reset_key(const std::string& key) {
-    auto result = kvs_.reset_key(key);
+    auto result = kvs_.SetValueToDefault(key);
     return static_cast(result);
 }
 

From 721a13803dda8c515eb82bf8b19dfab84d4b2688 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:17 +0000
Subject: [PATCH 19/80] module_tests: tolerate non-UTF-8 test output

A test printing raw bytes crashed the runner with UnicodeDecodeError while
streaming the bazel output (seen in the score_persistency module test), which
hid the actual test failure. Decode with errors="replace".
---
 scripts/module_tests.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/module_tests.py b/scripts/module_tests.py
index 46820c215ea..fc9a9ad643c 100644
--- a/scripts/module_tests.py
+++ b/scripts/module_tests.py
@@ -55,7 +55,7 @@ def streamed(command: list[str], cwd: Path, env: dict) -> tuple[int, str]:
     print("+ " + " ".join(command), file=sys.stderr, flush=True)
     lines = []
     with subprocess.Popen(
-        command, cwd=cwd, env=env, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT
+        command, cwd=cwd, env=env, text=True, errors="replace", stdout=subprocess.PIPE, stderr=subprocess.STDOUT
     ) as proc:
         for line in proc.stdout:
             print(line, end="", flush=True)

From 3b0c884c75378cfce1695f1ac9a86a18f4bf6862 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 07:34:17 +0000
Subject: [PATCH 20/80] docs: turn off the mount path check for the logging
 docs

score_logging v0.2.5 symlinks design pages and PlantUML files from score/ into
docs/. sphinx-mounts reports each of them as mounts.path_escape (31 warnings,
fatal with -W). docs-as-code does not expose path_check, so a small local
extension sets path_check = "off" for the logging mount after score_mounts
has built config.mounts. Remove once logging's docs bundle is self-contained.
---
 docs/conf.py            |  1 +
 docs/mount_overrides.py | 31 +++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 docs/mount_overrides.py

diff --git a/docs/conf.py b/docs/conf.py
index 185c8d4d33f..759da3f814e 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -43,6 +43,7 @@ def _patch_needpie_suppress_legend() -> None:
     # is updated with new sphinx-needs version
     "sphinxcontrib.plantuml",
     "score_sphinx_bundle",
+    "mount_overrides",
 ]
 
 exclude_patterns = [
diff --git a/docs/mount_overrides.py b/docs/mount_overrides.py
new file mode 100644
index 00000000000..b1d83d8aeb2
--- /dev/null
+++ b/docs/mount_overrides.py
@@ -0,0 +1,31 @@
+# *******************************************************************************
+# Copyright (c) 2026 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+"""Relax sphinx-mounts' path check for module bundles that are not self-contained yet."""
+
+from sphinx.application import Sphinx
+from sphinx.config import Config
+
+# score_logging v0.2.5 symlinks design docs/PlantUML files from score/ into docs/.
+PATH_CHECK_OFF = {"modules/score_logging"}
+
+
+def _relax_path_check(_app: Sphinx, config: Config) -> None:
+    for mount in getattr(config, "mounts", None) or []:
+        if isinstance(mount, dict) and mount.get("mount_at") in PATH_CHECK_OFF:
+            mount["path_check"] = "off"
+
+
+def setup(app: Sphinx) -> dict[str, object]:
+    # After score_mounts (300) has filled config.mounts, before sphinx_mounts (400) reads it.
+    app.connect("config-inited", _relax_path_check, priority=350)
+    return {"parallel_read_safe": True, "parallel_write_safe": True}

From 05136138337ffbc509224b9f8755b5667bb35bed Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Fri, 30 Oct 2026 07:45:50 +0000
Subject: [PATCH 21/80] Polish lifecycle

---
 known_good.json                                           | 7 +++----
 .../simple_lifecycle/configs/launch_manager_config.json   | 8 ++------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/known_good.json b/known_good.json
index eda3c76ef83..e8a224c0ee5 100644
--- a/known_good.json
+++ b/known_good.json
@@ -133,16 +133,15 @@
                 ],
                 "metadata": {
                     "code_root_path": "//score/...",
-                    "extra_test_config": [
-                        "copt=-Wno-error=pessimizing-move"
-                    ],
+                    "extra_test_config": [],
                     "exclude_test_targets": [
                         "//score/health_monitor/src/rust:miri_tests",
+                        "//score/health_monitor/src/rust:loom_tests",
                         "//tests/integration/...",
                         "//examples/demo_verification:examples"
                     ],
                     "test_notes": {
-                        "copt=-Wno-error=pessimizing-move": "TODO fix: fails under clang (unified llvm coverage toolchain): -Wpessimizing-move in alive_monitor/details/ifexm/supervision_handle.hpp:42 breaks the build of 28 test targets",
+                        "//score/health_monitor/src/rust:loom_tests": "TODO fix: fails under the unified toolchain: heartbeat_monitor_heartbeat_evaluate_in_range misses its 30-70ms wall-clock window inside loom::model (Heartbeat(TooLate), 9 of 10 runs)",
                         "//tests/integration/...": "TODO fix: fails under clang (unified llvm coverage toolchain): clang links the host glibc (GLIBC_2.38 not found in the test container); integration tests still run via integration_test_targets",
                         "//examples/demo_verification:examples": "TODO fix: fails under clang (unified llvm coverage toolchain): clang links the host glibc (GLIBC_2.38 not found in the test container); integration tests still run via integration_test_targets"
                     },
diff --git a/showcases/simple_lifecycle/configs/launch_manager_config.json b/showcases/simple_lifecycle/configs/launch_manager_config.json
index 08ce602d41c..e05bbf82857 100644
--- a/showcases/simple_lifecycle/configs/launch_manager_config.json
+++ b/showcases/simple_lifecycle/configs/launch_manager_config.json
@@ -3,12 +3,8 @@
     "defaults": {
         "deployment_config": {
             "bin_dir": "/showcases/bin/",
-            "ready_recovery_action": {
-                "restart": {
-                    "number_of_attempts": 1,
-                    "delay_before_restart_ms": 500
-                }
-            },
+            "activation_retry_attempts": 1,
+            "activation_retry_delay_ms": 500,
             "sandbox": {
                 "uid": 0,
                 "gid": 0,

From 0e4c5be3ebb3441d5f25e72772745ea553b01d67 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 08:17:20 +0000
Subject: [PATCH 22/80] FIT (Rust): use set_value_to_default instead of the
 removed Kvs::reset_key

persistency renamed reset_key to set_value_to_default (eclipse-score/persistency#585);
the Rust test scenarios no longer compiled ("no method named reset_key").
---
 .../rust/src/scenarios/persistency/default_values.rs            | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/default_values.rs b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/default_values.rs
index 1d9d9fdd1bd..d2999ad5198 100644
--- a/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/default_values.rs
+++ b/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/default_values.rs
@@ -127,7 +127,7 @@ impl Scenario for SelectiveReset {
 
         // Reset even-indexed keys (0, 2, 4); odd-indexed keep their overrides.
         for i in (0..num_keys).step_by(2) {
-            kvs.reset_key(&keys[i]).map_err(|e| format!("{e:?}"))?;
+            kvs.set_value_to_default(&keys[i]).map_err(|e| format!("{e:?}"))?;
         }
         kvs.flush().map_err(|e| format!("{e:?}"))?;
 

From 312fde355d1270ab713603ce3233d39c81407c7d Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 08:17:20 +0000
Subject: [PATCH 23/80] module_tests: exclude config_management JSON-formatting
 tests under baselibs 0.2.16

baselibs 0.2.16 parses/serializes JSON with vaJson only; the base_library
flag no longer has an effect. Two config_management unit tests compare against
nlohmann-formatted strings (e.g. 3.222 vs 3.22199988) and fail:
- config_daemon/code/data_model/details:unit_test
- config_provider/code/parameter_set:unit_test
Excluded with a test_note until config_management adapts its expectations.
---
 known_good.json | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/known_good.json b/known_good.json
index e8a224c0ee5..207e41fc540 100644
--- a/known_good.json
+++ b/known_good.json
@@ -246,8 +246,14 @@
                         "//score/config_management/config_provider/code/config_provider/factory:unit_tests_mw_com",
                         "//score/config_management/config_provider/code/proxies/details:unit_test_mw",
                         "//score/config_management/config_daemon/code:main_function_test",
+                        "//score/config_management/config_daemon/code/data_model/details:unit_test",
+                        "//score/config_management/config_provider/code/parameter_set:unit_test",
                         "//score/config_management/dependability/..."
                     ],
+                    "test_notes": {
+                        "//score/config_management/config_daemon/code/data_model/details:unit_test": "TODO fix: baselibs 0.2.16 serializes JSON with vaJson only (base_library flag has no effect); expected strings assume nlohmann (e.g. 3.222 vs 3.22199988)",
+                        "//score/config_management/config_provider/code/parameter_set:unit_test": "TODO fix: baselibs 0.2.16 serializes JSON with vaJson only (base_library flag has no effect); expected strings assume nlohmann (e.g. 3.222 vs 3.22199988)"
+                    },
                     "langs": [
                         "cpp"
                     ],

From c37c448bf429d1eb519a5dcff39d61205d73b37c Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 08:24:39 +0000
Subject: [PATCH 24/80] FIT: write KVS defaults files with the type-tagged
 top-level envelope

Since eclipse-score/persistency#490 the KVS rejects untagged JSON, so a
defaults file must be {"t":"obj","v":{...}}. The old bare-map format made every
defaults-based scenario fail with ConversionFailed when creating the KVS.
---
 feature_integration_tests/test_cases/persistency_scenario.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/feature_integration_tests/test_cases/persistency_scenario.py b/feature_integration_tests/test_cases/persistency_scenario.py
index e21b5f6651a..d891a565a9e 100644
--- a/feature_integration_tests/test_cases/persistency_scenario.py
+++ b/feature_integration_tests/test_cases/persistency_scenario.py
@@ -35,7 +35,7 @@ def create_kvs_defaults_file(dir_path: Path, instance_id: int, values: dict) ->
     KVS expects defaults at: {dir}/kvs_{instance_id}_default.json
     and the hash at:         {dir}/kvs_{instance_id}_default.hash
 
-    The JSON format is: {"key": {"t": "type_tag", "v": value}, ...}
+    The JSON format is: {"t": "obj", "v": {"key": {"t": "type_tag", "v": value}, ...}}
     The hash is adler32 of the JSON string, written as 4 big-endian bytes.
 
     Parameters
@@ -56,7 +56,8 @@ def create_kvs_defaults_file(dir_path: Path, instance_id: int, values: dict) ->
     hash_path = dir_path / f"kvs_{instance_id}_default.hash"
 
     data = {key: {"t": type_tag, "v": val} for key, (type_tag, val) in values.items()}
-    json_str = json.dumps(data)
+    # KVS only accepts the type-tagged top-level object since persistency#490.
+    json_str = json.dumps({"t": "obj", "v": data})
 
     json_path.write_text(json_str)
     hash_path.write_bytes(adler32(json_str.encode()).to_bytes(length=4, byteorder="big"))

From 9390b2ff66e34e9b245ea337f873b286f7abac61 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 08:24:39 +0000
Subject: [PATCH 25/80] FIT (C++): do not wrap the snapshot in a second
 envelope

The C++ KVS now writes the {"t":"obj","v":...} envelope itself (possibly with
whitespace), so the exact-prefix check missed it and the snapshot was wrapped
twice. Detect the envelope with a whitespace-tolerant regex instead.
---
 .../cpp/src/internals/persistency/kvs_instance.cpp            | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
index 901020bbcae..2c7a0087d5a 100644
--- a/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
+++ b/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp
@@ -241,8 +241,10 @@ bool KvsInstance::normalize_snapshot_file_to_rust_envelope(const KvsParameters&
     const std::string bool_canonical = canonicalize_bool_literals(content);
     const std::string canonical_content = canonicalize_f64_literals(bool_canonical);
 
+    // Newer KVS versions already write the envelope (possibly with whitespace); never wrap twice.
+    static const std::regex envelope_prefix(R"(^\{\s*"t"\s*:\s*"obj"\s*,\s*"v"\s*:)");
     std::string final_content;
-    if (canonical_content.rfind("{\"t\":\"obj\",\"v\":", 0) == 0) {
+    if (std::regex_search(canonical_content, envelope_prefix)) {
         final_content = canonical_content;
     } else {
         final_content = "{\"t\":\"obj\",\"v\":" + canonical_content + "}";

From 92b683d6fe6c5b61e30f27c68b361ae9e1b82e60 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 08:24:39 +0000
Subject: [PATCH 26/80] FIT: accept reset keys stored with their default value

set_value_to_default (formerly reset_key) now writes the default value into the
snapshot instead of removing the key. TestSelectiveReset accepts both: key absent
or stored with the default value; odd keys still must keep their overrides.
---
 .../test_cases/tests/persistency/test_default_values.py  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/feature_integration_tests/test_cases/tests/persistency/test_default_values.py b/feature_integration_tests/test_cases/tests/persistency/test_default_values.py
index 2e92a833186..388e1c9f3e9 100644
--- a/feature_integration_tests/test_cases/tests/persistency/test_default_values.py
+++ b/feature_integration_tests/test_cases/tests/persistency/test_default_values.py
@@ -410,7 +410,8 @@ def test_config(self, temp_dir: Path, defaults_file: Path) -> dict[str, Any]:
 
     def test_selective_reset_state(self, results: ScenarioResult, temp_dir: Path) -> None:
         """
-        Even-indexed keys must be absent after reset_key; odd-indexed must retain
+        Even-indexed keys must be back at their default after reset (absent, or stored
+        with the default value since set_value_to_default); odd-indexed must retain
         their override values in the final flushed snapshot.
         """
         assert results.return_code == ResultCode.SUCCESS
@@ -418,7 +419,11 @@ def test_selective_reset_state(self, results: ScenarioResult, temp_dir: Path) ->
         for i in range(self._KEY_COUNT):
             key = f"sel_key_{i}"
             if i % 2 == 0:
-                assert key not in snapshot, f"Even key '{key}' must be absent after reset_key"
+                if key in snapshot:
+                    assert isclose(snapshot[key]["v"], self._DEFAULT_VALUE, abs_tol=1e-4), (
+                        f"Even key '{key}' must hold the default {self._DEFAULT_VALUE} after reset, "
+                        f"got {snapshot[key]['v']}"
+                    )
             else:
                 assert key in snapshot, f"Odd key '{key}' must be present with override"
                 assert isclose(snapshot[key]["v"], self._override_value(i), abs_tol=1e-4), (

From 6331f1a6c9479662a100aff938795ed33f3530b3 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 10:08:30 +0100
Subject: [PATCH 27/80] Use optional Ubuntu snapshot mirror via
 downloader_config in module tests (#429)

(cherry picked from commit 0ae8255b9b342471d2bbc24129cbb15bb073b2f8)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 .github/workflows/module_tests.yml  | 22 ++++++++++++++++++++++
 .github/workflows/test_and_docs.yml |  1 +
 2 files changed, 23 insertions(+)

diff --git a/.github/workflows/module_tests.yml b/.github/workflows/module_tests.yml
index dd1d3040dc1..30e8a7c7f3c 100644
--- a/.github/workflows/module_tests.yml
+++ b/.github/workflows/module_tests.yml
@@ -16,6 +16,10 @@
 name: Module Tests
 on:
   workflow_call:
+    secrets:
+      UBUNTU_SNAPSHOT_MIRROR_URL:
+        description: Optional StableBuild mirror tag used before snapshot.ubuntu.com (see the Bazel downloader step).
+        required: false
   workflow_dispatch:
 permissions:
   contents: read
@@ -59,6 +63,24 @@ jobs:
           disk-cache: ${{ github.workflow }}-${{ matrix.module }}
           repository-cache: true
           cache-save: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
+      - name: Configure optional Ubuntu snapshot mirror for Bazel downloader
+        env:
+          UBUNTU_SNAPSHOT_MIRROR_URL: ${{ secrets.UBUNTU_SNAPSHOT_MIRROR_URL }}
+        run: |
+          # snapshot.ubuntu.com is unreliable. If a mirror is configured, try it first and keep the
+          # public URL as fallback. ~/.bazelrc applies to every module workspace, unlike user.bazelrc.
+          if [[ -z "${UBUNTU_SNAPSHOT_MIRROR_URL}" ]]; then
+            echo "No Ubuntu snapshot mirror configured; using snapshot.ubuntu.com."
+            exit 0
+          fi
+          mirror="${UBUNTU_SNAPSHOT_MIRROR_URL}.debmirror.stablebuild.com/2026-04-01T10:40:01Z"
+          cfg="${RUNNER_TEMP}/ubuntu.downloader_config"
+          {
+            echo "rewrite snapshot.ubuntu.com/ubuntu/[^/]*/(.*) ${mirror}/archive.ubuntu.com/ubuntu/\$1"
+            echo "rewrite snapshot.ubuntu.com/ubuntu/[^/]*/(.*) ${mirror}/ports.ubuntu.com/\$1"
+            echo "rewrite snapshot.ubuntu.com/ubuntu/(.*) snapshot.ubuntu.com/ubuntu/\$1"
+          } > "${cfg}"
+          echo "common --downloader_config=${cfg}" >> "${HOME}/.bazelrc"
       - name: Run module tests
         run: python3 scripts/module_tests.py run ${{ matrix.module }}
       - name: Upload test reports and coverage
diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml
index c0f2c118193..eb92663b4fd 100644
--- a/.github/workflows/test_and_docs.yml
+++ b/.github/workflows/test_and_docs.yml
@@ -35,6 +35,7 @@ env:
 jobs:
   module_tests:
     uses: ./.github/workflows/module_tests.yml
+    secrets: inherit
   test_and_docs:
     runs-on: ubuntu-latest
     needs: module_tests

From 5d09c1bf631767564295ee403d200d2f201eb76a Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 10:40:54 +0000
Subject: [PATCH 28/80] PIT: link lifecycle showcase to renamed stakeholder
 requirement

score_platform 0.7.4 renamed stkh_req__dependability__safety_features_1 to
stkh_req__dependability__health_management. The stale ID produced two
docs warnings (unknown outgoing link), which fail the docs build because
warnings are treated as errors.
---
 platform_integration_tests/lifecycle/test_lifecycle_showcase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/platform_integration_tests/lifecycle/test_lifecycle_showcase.py b/platform_integration_tests/lifecycle/test_lifecycle_showcase.py
index e6afecb47ce..4655009f9e4 100644
--- a/platform_integration_tests/lifecycle/test_lifecycle_showcase.py
+++ b/platform_integration_tests/lifecycle/test_lifecycle_showcase.py
@@ -22,7 +22,7 @@
 
 
 @add_test_properties(
-    partially_verifies=["stkh_req__dependability__safety_features_1"],
+    partially_verifies=["stkh_req__dependability__health_management"],
     test_type="interface-test",
     derivation_technique="requirements-analysis",
 )

From 26ec9ef8bc3d8d9491ae5ca9b0bdd40785ad545e Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 12:57:10 +0000
Subject: [PATCH 29/80] docs: move the logging mount path-check override into
 conf.py

The sandboxed //:needs_json_file build only ships conf.py and doc sources
from docs/, not other .py files, so loading docs/mount_overrides.py as an
extension failed there with "No module named 'mount_overrides'". The
override now lives in conf.py's setup(); behaviour of //:docs is unchanged.
---
 docs/conf.py            | 17 ++++++++++++++++-
 docs/mount_overrides.py | 31 -------------------------------
 2 files changed, 16 insertions(+), 32 deletions(-)
 delete mode 100644 docs/mount_overrides.py

diff --git a/docs/conf.py b/docs/conf.py
index 759da3f814e..119377a9a2c 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -43,7 +43,6 @@ def _patch_needpie_suppress_legend() -> None:
     # is updated with new sphinx-needs version
     "sphinxcontrib.plantuml",
     "score_sphinx_bundle",
-    "mount_overrides",
 ]
 
 exclude_patterns = [
@@ -80,3 +79,19 @@ def _patch_needpie_suppress_legend() -> None:
     "show_toc_level": 2,
     "navigation_with_keys": False,
 }
+
+# score_logging v0.2.5 symlinks design docs/PlantUML files from score/ into docs/,
+# which sphinx-mounts reports as path_escape. Remove once its bundle is self-contained.
+_PATH_CHECK_OFF = {"modules/score_logging"}
+
+
+def _relax_path_check(_app, config) -> None:
+    for mount in getattr(config, "mounts", None) or []:
+        if isinstance(mount, dict) and mount.get("mount_at") in _PATH_CHECK_OFF:
+            mount["path_check"] = "off"
+
+
+# Defined here, not as a docs/*.py extension: the sandboxed needs_json build only ships conf.py.
+def setup(app):
+    # After score_mounts (300) has filled config.mounts, before sphinx_mounts (400) reads it.
+    app.connect("config-inited", _relax_path_check, priority=350)
diff --git a/docs/mount_overrides.py b/docs/mount_overrides.py
deleted file mode 100644
index b1d83d8aeb2..00000000000
--- a/docs/mount_overrides.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2026 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-# *******************************************************************************
-"""Relax sphinx-mounts' path check for module bundles that are not self-contained yet."""
-
-from sphinx.application import Sphinx
-from sphinx.config import Config
-
-# score_logging v0.2.5 symlinks design docs/PlantUML files from score/ into docs/.
-PATH_CHECK_OFF = {"modules/score_logging"}
-
-
-def _relax_path_check(_app: Sphinx, config: Config) -> None:
-    for mount in getattr(config, "mounts", None) or []:
-        if isinstance(mount, dict) and mount.get("mount_at") in PATH_CHECK_OFF:
-            mount["path_check"] = "off"
-
-
-def setup(app: Sphinx) -> dict[str, object]:
-    # After score_mounts (300) has filled config.mounts, before sphinx_mounts (400) reads it.
-    app.connect("config-inited", _relax_path_check, priority=350)
-    return {"parallel_read_safe": True, "parallel_write_safe": True}

From d88d17ad494ddc07818a94e230a80f77ba1a895a Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Fri, 30 Oct 2026 12:57:11 +0000
Subject: [PATCH 30/80] Release note v0.10: regenerate draft and list it last

Regenerated with scripts/release_note/generate_release_note.py --release v0.10.0
--origin v0.9.0 (draft), including the architecture diagram. New Features and
Breaking Changes are written from collect_changes.py evidence.

releases.rst lists the release notes explicitly; the glob sorted v0_10 before
v0_5.
---
 .../releases/_assets/architecture_v0_10.svg   | 221 +++++++
 .../releases/release_note_score_v0_10.rst     | 616 ++++++++++--------
 docs/s_core_v_1/releases/releases.rst         |   9 +-
 3 files changed, 583 insertions(+), 263 deletions(-)
 create mode 100644 docs/s_core_v_1/releases/_assets/architecture_v0_10.svg

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
new file mode 100644
index 00000000000..7f2dbd823db
--- /dev/null
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -0,0 +1,221 @@
+
+S-CORE Platform v0.10
+Reference integration architecture
+DRAFT
+5
+target images
+10
+infrastructure modules
+32
+components
+8
+software modules
+v0.10.0  ·  planned 2026-11-02  ·  compared to v0.9.0
+PLATFORM, INFRASTRUCTURE& TOOLING10 modules
+
+
+
+Platform
+v0.7.4
+
+
+
+Crates
+v0.0.11
+
+
+
+ITF
+v0.6.0
+
+
+
+Tools
+NEW
+4b48cec
+
+
+
+Tooling
+v2.2.3
+
+
+
+Bazel Platforms
+v1.1.0
+
+
+
+Test Scenarios
+v0.5.0
+
+
+
+Docs-as-code
+v8.6.0
+
+
+
+Process description
+v2.2.2
+
+
+
+Bazel CPP Toolchain
+v1.0.3
+INTEGRATED SOFTWARE MODULES8 modules
+
+
+
+Baselibs
+v0.2.16
+was v0.2.12
+
+Bit Manipulation
+
+Concurrency
+
+Containers
+
+Cross-Language Shared-Layout Data Types
+
+Filesystem
+
+FlatBuffers
+
+Hash Library
+
+JSON
+
+JSON-Wrapper
+
+Log Frontend
+
+Memory Shared
+
+OS
+
+Result
+
+Rust Containers
+
+SafeCpp
+
+Scope Exit
+
+Static Reflection with Serialization
+
+String Manipulation
+
+Utils
+
+VaJson
+
+baselibs
+
+
+
+Communication
+313f117
+was v0.4.0
+
+IPC Binding
+
+Lola Configuration
+
+Message Passing
+
+Mock binding
+
+mw::com Frontend
+
+communication
+
+
+
+Persistency
+41d7609
+was v0.3.5
+
+persistency::kvs
+
+persistency
+
+
+
+Kyron
+52d4bef
+was v0.1.4
+no components documented
+
+kyron
+
+
+
+Lifecycle
+v0.9.0
+was v0.6.1
+
+Health Monitor
+
+Launch Manager
+
+lifecycle
+
+
+
+Logging
+v0.2.5
+was v0.2.4
+
+Datarouter
+
+mw::log Backend
+
+logging
+
+
+
+Time
+3723ce6
+was v0.0.2
+
+Time
+
+Time Sync Client
+
+time
+
+
+
+Configuration
+Management
+d0dab01
+was v0.2.0
+no components documented
+
+config_management
+TARGET IMAGESdashed: experimental
+
+Linux
+x86_64
+
+QNX 8.0
+x86_64
+
+QNX 8.0
+aarch64
+
+Red Hat AutoSD
+x86_64
+
+EB corbos Linux
+aarch64
+
+released (tag)
+
+unreleased (commit pin)
+NEW
+new since v0.9.0  (1)
+was … = version in v0.9.0
+generated from known_good.json @ 5d09c1bf631
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index a7d072dda3b..002fc96cd29 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -12,41 +12,46 @@
    # SPDX-License-Identifier: Apache-2.0
    # *******************************************************************************
 
-S-CORE Platform v0.10 release note
-==================================
+S-CORE Platform v0.10 release note (DRAFT)
+============================================
+
+.. warning::
+
+   **DRAFT - release in progress.** v0.10.0 is not released yet (planned for
+   2026-11-02). This note shows the current state of the integration and changes
+   until the release is published.
+
 
 .. document:: S-CORE v0.10 release note
    :id: doc__score_v010_release_note
-   :status: valid
+   :status: draft
    :safety: QM
    :security: YES
    :realizes: wp__platform_sw_release_note
    :version: 1
 
-| **Platform Release:** S-CORE
+| **Platform Name:** S-CORE
 | **Release Tag:** v0.10.0
-| **Origin Release Tag**: v0.9.0
+| **Origin Release Tag:** v0.9.0
 | **Release Date:** 2026-11-02
 
 
-Overview
-^^^^^^^^
+📋 Overview
+^^^^^^^^^^^^
 
 This document provides an overview of the changes, improvements, and bug fixes
 included in the software platform release version v0.10.0 as compared to the
 previous platform release (v0.9.0).
 
-The v0.10 release replaces the resolved-dependency override mechanism of v0.9
-with a two-stage DR-008 test workflow, in which every integrated module is
-tested with its own test suite against the unified toolchain configuration of
-the reference integration. It adds an SBOM to the build, introduces
-showcase-based platform integration tests linked to stakeholder requirements,
-extends requirement coverage with module-owned tests, deduplicates the QNX and
-Linux image definitions, and updates all integrated modules to their latest
-known-good state.
+.. figure:: /s_core_v_1/releases/_assets/architecture_v0_10.svg
+   :width: 100%
+   :alt: S-CORE v0.10 reference integration architecture
+
+   Modules, components and images of the reference integration v0.10.0.
 
-Disclaimer
-----------
+
+📜 Disclaimer
+--------------
 
 This release note does not "release for production", as it does not come with a
 safety argumentation and a performed safety assessment.
@@ -54,275 +59,364 @@ The work products compiled in the safety package are created with care according
 to a process satisfying standards, but the project, being a non-profit and open
 source organization, can not take over any liability for its content.
 
-Changes to the Platform
-^^^^^^^^^^^^^^^^^^^^^^^
 
-New Features
-------------
+🔄 Changes to the Platform
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Integration Strategy (DR-008) Test Workflow
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+✨ New Features
+----------------
 
-The DR-008 implementation was reworked into a two-stage test workflow:
+New infrastructure module: Tools
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- **Stage 1** builds and tests the reference integration with all modules as
-  pinned in ``known_good.json``.
-- **Stage 2** runs the test suite of each target software module on its own,
-  with the known-good versions injected via ``--override_module`` and the
-  toolchains and platforms shared through ``bazel_common/unified.bazelrc`` and
-  ``bazel_common/unified_toolchains.MODULE.bazel``.
+``score_tools`` (`eclipse-score/tools `__)
+is now part of ``known_good.json``. Persistency's test BUILD files load
+``@score_tools//score_pytest``, so the reference integration needs it as a
+regular dependency
+(`#388 `__).
 
-The new ``scripts/module_tests.py`` and the ``module_tests.yml`` workflow make
-this available for pull requests. Under ``bazel coverage`` the unified
-configuration uses clang (LLVM) as C++ toolchain, while builds stay on GCC.
-Module-specific exclusions are documented in the new ``metadata.test_notes``
-field of ``known_good.json``.
+Integration Strategy (DR-008) test workflow
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The resolved-dependency override mechanism introduced in v0.9
-(``scripts/known_good/resolved_dependencies.py``) was removed in favour of this
-workflow.
+The reference integration no longer runs the unit tests of all modules inside
+its own workspace. Each target software module now runs its own test suite in
+its own workspace, against the dependency versions resolved by the reference
+integration
+(`#398 `__):
+
+- ``scripts/module_tests.py run `` fetches the module at its
+  ``known_good.json`` pin with the integration patches applied, pins its direct
+  dependencies to the versions of the reference integration
+  (``--override_module``) and runs ``bazel coverage`` with the shared
+  configuration from ``bazel_common/unified.bazelrc`` and
+  ``bazel_common/unified_toolchains.MODULE.bazel``. Coverage builds C++ with
+  clang (LLVM); regular builds stay on GCC.
+- The ``module_tests.yml`` workflow runs one job per module and feeds the
+  results into the unit test summary and the documentation.
+- Module-specific test exclusions are documented in the ``metadata.test_notes``
+  field of ``known_good.json``.
+- If the ``UBUNTU_SNAPSHOT_MIRROR_URL`` secret is set, the module test jobs
+  download Ubuntu snapshot packages from a mirror first
+  (`#429 `__).
 
 Software Bill of Materials (SBOM)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The reference integration now generates an SBOM via
-`score_sbom `_ (``0.1.1``). All target
-software modules are tracked and the SBOM is uploaded as a CI build artifact.
+The reference integration generates an SBOM with
+`score_sbom `__ ``0.1.1`` and uploads it
+as a CI build artifact
+(`#304 `__,
+`#339 `__,
+`#353 `__).
 
-Platform Integration Tests
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reference images
+~~~~~~~~~~~~~~~~
 
-A new ``platform_integration_tests/`` package runs the ``//showcases`` demo
-applications for Communication, Kyron, Lifecycle, Logging and Time as ITF
-tests. They are linked to the platform stakeholder requirements, which are now
-reported in a dedicated "Stakeholder Requirements" chapter of the platform
-verification report.
+- The QNX images use ``score_rules_imagefs`` ``0.1.0``; host files are placed
+  with ``rules_pkg`` ``pkg_files`` targets
+  (`#349 `__).
+- The QNX and Linux image definitions were deduplicated into shared packages:
+  ``//images/common/apps``, ``//images/qnx_common/build`` and
+  ``//images/qnx_common/configs``
+  (`#389 `__).
+- The AutoSD image uses a newer AutoSD OCI base image and is pushed on release
+  (`#404 `__,
+  `#424 `__).
+
+Platform integration tests
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Improvements
-------------
+The new ``//platform_integration_tests:pit`` suite runs the ``//showcases``
+applications for Communication, Kyron, Lifecycle, Logging and Time on the target
+image (Docker on Linux x86_64, QEMU on QNX x86_64). Each test is linked to the
+platform stakeholder requirement it demonstrates; the platform verification
+report shows them in a new "Stakeholder Requirements" chapter
+(`#377 `__).
 
-Requirement Coverage from Module Tests
+Requirement coverage from module tests
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The Lifecycle integration tests, the Logging component tests and the Persistency
-component integration tests are now executed by the reference integration, so
-their ``PartiallyVerifies``/``FullyVerifies`` links appear in the verification
-reports. The Logging integration tests were re-enabled after fixing the
-datarouter configuration packaging.
-
-Reference Images
-~~~~~~~~~~~~~~~~
-
-- ``score_rules_imagefs`` was updated from ``0.0.1`` to ``0.1.0``, migrating the
-  image definitions to ``rules_pkg`` ``pkg_files``.
-- QNX and Linux image definitions were deduplicated into shared packages
-  (``//images/common/apps``, ``//images/qnx_common/build``,
-  ``//images/qnx_common/configs``).
-
-Documentation
-~~~~~~~~~~~~~
-
-- Documentation is now generated from ``known_good.json``
-  (``bazel_common/docs_bundles.bzl``); the Time documentation bundle was
-  enabled.
-- The verification report was restructured: the former platform verification
-  report page became the status dashboard, module verification reports
-  (Lifecycle, Logging, Persistency, ...) are linked from a common index, and
-  unit test and coverage summaries are nested under the Platform Verification
-  Report.
+component integration tests are executed by the reference integration, so their
+``PartiallyVerifies``/``FullyVerifies`` links appear in the verification reports
+(`#385 `__).
+The Logging tests run after fixing the packaging of the datarouter
+configuration
+(`#387 `__).
+
+Lifecycle control interface for State Managers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Lifecycle provides the new ``ILmControl`` API, with which State Managers
+communicate with the Launch Manager over ``mw::com``
+(`Lifecycle v0.8.0 release notes `__).
+
+Documentation and reports
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- The documentation bundles are generated from ``known_good.json``
+  (``bazel_common/docs_bundles.bzl``); the Time documentation is included
+  (`#337 `__,
+  `#348 `__).
+- Module verification reports (Baselibs, Lifecycle, Logging, Persistency) are
+  linked from a common index; the unit test and coverage summaries are part of
+  the Platform Verification Report; the status dashboard uses branch-aware links
+  (`#342 `__,
+  `#358 `__,
+  `#373 `__).
+- The Overall Status page was replaced by the Release-wide Progress Overview
+  next to the release notes, with release-over-release charts per module
+  (`#392 `__).
+- The release note is generated from ``known_good.json`` with
+  ``scripts/release_note/generate_release_note.py``
+  (`#414 `__).
 
 CI
 ~~
 
-- The documentation build runs as a separate, fail-fast workflow.
-- Bazel cache keys rotate on module bumps; the test cache is trusted on push
-  and fresh runs are gated on tags.
-- Failing module tests are reported by module name.
-- Dashboard documentation links are branch-aware.
+- The documentation build runs as a separate, fail-fast workflow
+  (`#375 `__).
+- Bazel cache keys rotate on module bumps and the test cache is trusted on push
+  (`#356 `__,
+  `#362 `__,
+  `#366 `__).
+- Failing module tests are reported by module name
+  (`#368 `__).
 
-Incompatible Changes
+💥 Breaking Changes
 --------------------
 
-.. warning::
-
-   The resolved-dependency override mechanism introduced in v0.9
-   (``scripts/known_good/resolved_dependencies.py``) and the ``rust_coverage``
-   package were removed. Users relying on them need to switch to the DR-008
-   test workflow (``scripts/module_tests.py``) and the unified configuration
-   in ``bazel_common/unified.bazelrc``.
-
-S-CORE Platform scope
-^^^^^^^^^^^^^^^^^^^^^
-
-- **Version:** ``6d65a262c232`` (commit)
-- **Release notes**: `S-CORE platform release notes
-  `_
-
-Integrated Software Modules
----------------------------
-
-Baselibs
-~~~~~~~~
-
-- ...
-
-Communication
-~~~~~~~~~~~~~
-
-- ...
-
-Persistency
-~~~~~~~~~~~
-
-- ...
-
-Lifecycle
-~~~~~~~~~
-
-- ...
-
-Logging
-~~~~~~~
-
-- ...
-
-Time
-~~~~
-
-- ...
-
-Configuration Management
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-- ...
-
-Kyron
-~~~~~
-
-- ...
-
-Reference integration
-~~~~~~~~~~~~~~~~~~~~~
+Reference integration: resolved-dependency overrides removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The module test mechanism of v0.9 was removed together with its generated files:
+``scripts/known_good/resolved_dependencies.py``,
+``scripts/known_good/module_patches.py`` and the ``rust_coverage`` package
+(`#398 `__).
+
+Action required: run module tests with ``scripts/module_tests.py`` and the
+configuration in ``bazel_common/unified.bazelrc`` instead.
+
+Reference integration: QNX image packages moved
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The common QNX build fragments and configuration files moved to
+``//images/qnx_common/build`` and ``//images/qnx_common/configs``; the
+``images/qnx_aarch64/configs`` package was removed and
+``images/qnx_x86_64/configs`` keeps only the x86-specific files
+(`#389 `__).
+
+Action required: update references to the old image paths in derived images.
+
+Platform: stakeholder requirement IDs renamed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Platform ``v0.7.4`` renamed ``stkh_req__dependability__safety_features_1`` to
+``stkh_req__dependability__health_management``. Tests that still link the old
+ID make the documentation build fail with an unknown-link warning
+(`5d09c1b `__,
+`Platform v0.7.4 release notes `__).
+
+Action required: link tests to the new stakeholder requirement IDs.
+
+Baselibs: vaJson is the only JSON backend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``score/json`` uses vaJson as its only parser (v0.2.15) and writer (v0.2.16).
+The ``--@score_baselibs//score/json:writer_library`` flag was removed;
+``--@score_baselibs//score/json:base_library`` is a deprecated no-op that this
+repository still sets in ``.bazelrc`` and ``known_good.json``. The written JSON
+differs (for example ``true``/``false`` instead of ``1``/``0`` and different
+float formatting), which is why two Configuration Management unit tests are
+excluded in ``known_good.json``
+(`Baselibs v0.2.15 `__,
+`Baselibs v0.2.16 `__,
+`312fde3 `__).
+
+Action required: remove the ``base_library`` and ``writer_library`` flags from
+build configurations and do not compare JSON output against the old format.
+
+Persistency: KVS API and file format
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The integrated Persistency commit changes the public KVS API that applications
+use directly:
+
+- ``Kvs::reset_key`` was renamed to ``SetValueToDefault`` (C++) and
+  ``set_value_to_default`` (Rust), without a deprecated alias
+  (`persistency#585 `__,
+  `873238a `__,
+  `0e4c5be `__).
+- The KVS rejects untagged JSON; a defaults file must use the type-tagged
+  top-level envelope ``{"t":"obj","v":{...}}``
+  (`persistency#490 `__,
+  `c37c448 `__).
+- The C++ headers are included as ``score/kvs/kvs.h``, ``kvs_builder.h`` and
+  ``kvs_value.h`` from ``@score_persistency//score/kvs``, and the
+  ``KvsBuilder`` flags became enums (``Defaults``, ``KvsLoad``,
+  ``WorkingDir``). Configuration Management is adapted by a patch in this
+  repository
+  (`3467044 `__).
+
+Action required: rename ``reset_key`` calls, convert defaults files to the
+tagged envelope and update the KVS includes and builder calls.
+
+Lifecycle: Launch Manager configuration in milliseconds
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Lifecycle ``v0.9.0`` renamed all duration fields of the Launch Manager
+configuration to integer milliseconds, for example ``transition_timeout`` to
+``transition_timeout_ms`` and ``reporting_cycle`` to ``reporting_cycle_ms``.
+Configurations with the old keys fail the schema validation
+(`a575ce6 `__,
+`Lifecycle v0.9.0 release notes `__).
+
+Action required: rename the duration fields to ``*_ms`` and convert the values
+from seconds to milliseconds.
+
+🎯 Reference Integration scope
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 - **Version:** ``v0.10.0``
-- **Source / tag:** `Reference integration releases
-  `_
-
-- Added the two-stage DR-008 test workflow and removed the resolved-dependency
-  override mechanism.
-- Added SBOM generation.
-- Added showcase-based platform integration tests.
-- Executed Lifecycle, Logging and Persistency module tests for requirement
-  coverage.
-- Deduplicated QNX/Linux image definitions.
-
-Reference QNX image
-+++++++++++++++++++
-
-- Image definitions migrated to ``score_rules_imagefs`` ``0.1.0`` and
-  deduplicated between ``qnx_x86_64`` and ``qnx_aarch64``.
-
-Reference Red Hat AutoSD Linux image (Experimental)
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-
-- Updated to a newer AutoSD OCI image.
-
-Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimental)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-- No functional changes in this release.
-
-Associated Infrastructure Modules
----------------------------------
-
-Process description
-~~~~~~~~~~~~~~~~~~~
-
-- **Version:** ``2.2.2`` (previously ``2.1.2``)
-- **Release notes**: `Process description releases
-  `_
-
-Docs-as-code
-~~~~~~~~~~~~
-
-- ...
-
-
-Tooling
-~~~~~~~
-
-- ...
-
-
-Tools
-~~~~~
-
-- ...
-
-Platform
-~~~~~~~~
-
-- ...
-
-ITF (Integration Testing Framework)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- ...
-
-Test Scenarios
-~~~~~~~~~~~~~~
-
-- ...
-
-Crates
-~~~~~~
-
-- ...
-
-Bazel CPP Toolchain
-~~~~~~~~~~~~~~~~~~~
-
-- ...
-
-Bazel Platforms
-~~~~~~~~~~~~~~~
-
-- ...
-
-Compatibility
-^^^^^^^^^^^^^
-
-- **Dependencies:** See `Incompatible Changes`_.
-
-Performed Verification
-^^^^^^^^^^^^^^^^^^^^^^
-
-- See latest verification: :need:`doc__platform_verification_report_latest`.
-
-Known Issues/Vulnerabilities and Bug Fixes
-------------------------------------------
-
-- See release notes of every module separately.
-- Several modules are integrated from commit hashes instead of published
-  registry releases.
-- Some module tests are excluded or relaxed under the clang coverage toolchain
-  (Time, Baselibs, Lifecycle); see ``metadata.test_notes`` in
-  ``known_good.json``.
-- The reference integration carries integration patches for Baselibs,
-  Communication, Configuration Management, Lifecycle, Logging, Persistency,
-  Platform, Time and ``rules_rust``. See the ``patches/`` directory for details.
-
-Upgrade Instructions
---------------------
-
-- Increase to newest bazel registry versions:
-  https://eclipse-score.github.io/bazel_registry_ui
-- Versions can be found under:
-  https://github.com/eclipse-score/reference_integration/blob/v0.10.0/known_good.json
-
-Contact Information
--------------------
+- **Source / tag:** `Reference integration `__
+- **Release notes:** `Reference integration release notes `__
+- **Platform Verification Report:** :need:`doc__platform_verification_report_latest`
+
+
+🧩 Integrated Software Modules
+-------------------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 25 15 25 35
+
+   * - Name
+     - Version
+     - Release notes
+     - Module verification report
+   * - `Platform `__
+     - ``v0.7.4``
+     - `Release notes `__
+     - ---
+   * - `Baselibs `__
+     - ``v0.2.16``
+     - `Release notes `__
+     - :doc:`Verification report `
+   * - `Communication `__
+     - ``313f117 (unreleased)``
+     - ---
+     - ---
+   * - `Persistency `__
+     - ``41d7609 (unreleased)``
+     - ---
+     - :doc:`Verification report `
+   * - `Kyron `__
+     - ``52d4bef (unreleased)``
+     - ---
+     - ---
+   * - `Lifecycle `__
+     - ``v0.9.0``
+     - `Release notes `__
+     - :doc:`Verification report `
+   * - `Logging `__
+     - ``v0.2.5``
+     - `Release notes `__
+     - :doc:`Verification report `
+   * - `Time `__
+     - ``3723ce6 (unreleased)``
+     - ---
+     - ---
+   * - `Configuration Management `__
+     - ``d0dab01 (unreleased)``
+     - ---
+     - ---
+
+🔧 Associated Infrastructure Modules
+-------------------------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 30 25 45
+
+   * - Name
+     - Version
+     - Release notes
+   * - `Crates `__
+     - ``v0.0.11``
+     - `Release notes `__
+   * - `ITF (Integration Testing Framework) `__
+     - ``v0.6.0``
+     - `Release notes `__
+   * - `Tools `__
+     - ``4b48cec (unreleased)``
+     - ---
+   * - `Tooling `__
+     - ``v2.2.3``
+     - `Release notes `__
+   * - `Bazel Platforms `__
+     - ``v1.1.0``
+     - `Release notes `__
+   * - `Test Scenarios `__
+     - ``v0.5.0``
+     - `Release notes `__
+   * - `Docs-as-code `__
+     - ``v8.6.0``
+     - `Release notes `__
+   * - `Process description `__
+     - ``v2.2.2``
+     - `Release notes `__
+   * - `Bazel CPP Toolchain `__
+     - ``v1.0.3``
+     - `Release notes `__
+
+💿 Images
+----------
 
-For any questions or support, please contact the *Project leads* or raise an
-issue/discussion.
+.. list-table::
+   :header-rows: 1
+   :widths: 30 15 15 40
+
+   * - Name
+     - Tarball
+     - How-to
+     - Description
+   * - Reference Linux x86_64 image
+     - ---
+     - `How-to `__
+     - Linux x86_64 Docker image bundling the S-CORE showcases.
+   * - Reference QNX x86_64 image
+     - ---
+     - `How-to `__
+     - QNX x86_64 image, run in QEMU.
+   * - Reference QNX aarch64 image
+     - ---
+     - `How-to `__
+     - QNX 8.0 aarch64 image, run in QEMU or on Raspberry Pi 4/5.
+   * - Reference Red Hat AutoSD Linux image (Experimental)
+     - ---
+     - `How-to `__
+     - Red Hat AutoSD x86_64 image.
+   * - Reference Elektrobit corbos Linux for Safety Applications image (Experimental)
+     - ---
+     - `How-to `__
+     - Elektrobit corbos Linux for Safety Applications (aarch64) image.
+
+🐞 Known Issues/Vulnerabilities and Bug Fixes
+----------------------------------------------
+
+- See the release notes of the individual modules.
+
+🚀 Upgrade Instructions
+------------------------
+
+- Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui
+- Modules shown as *(unreleased)* are pinned to a commit and have no registry version; use the commit from ``known_good.json``.
+- The module versions of this release are listed in `known_good.json `__.
+
+
+📧 Contact Information
+-----------------------
+
+For any questions or support, please contact the *Project leads* or raise an issue/discussion.
 https://projects.eclipse.org/projects/automotive.score
+
diff --git a/docs/s_core_v_1/releases/releases.rst b/docs/s_core_v_1/releases/releases.rst
index 24781d9b830..f1e88729e79 100644
--- a/docs/s_core_v_1/releases/releases.rst
+++ b/docs/s_core_v_1/releases/releases.rst
@@ -22,6 +22,11 @@ Releases
 
 .. toctree::
    :titlesonly:
-   :glob:
 
-   release_note_*
+   release_note_score_v0_5_alpha
+   release_note_score_v0_5_beta
+   release_note_score_v0_6
+   release_note_score_v0_7
+   release_note_score_v0_8
+   release_note_score_v0_9
+   release_note_score_v0_10

From 12bd1f15073eef49f8a2d6d9ddd7daddb4bf7fac Mon Sep 17 00:00:00 2001
From: Arkadiusz Jedrzejewski 
Date: Fri, 30 Oct 2026 15:05:34 +0100
Subject: [PATCH 31/80] Add requested line to release note

---
 docs/s_core_v_1/releases/release_note_score_v0_10.rst | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 002fc96cd29..82d69e144d4 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -405,6 +405,7 @@ from seconds to milliseconds.
 ----------------------------------------------
 
 - See the release notes of the individual modules.
+- Safety Package(s) not completed for modules and platform. To qualify the S-CORE platform these gaps must be filled.
 
 🚀 Upgrade Instructions
 ------------------------

From b3dacd7e6071ef9ce7522f95553b4f26ad13d002 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 07:39:08 +0000
Subject: [PATCH 32/80] Release note generator: link image downloads, keep
 safety-package known issue

- Images table: column 'Download' instead of 'Tarball'. Images uploaded to the
  GitHub release by a workflow are listed in IMAGE_DOWNLOADS (today AutoSD:
  eclipse-autosd-bootc-qemu-x86_64.qcow2.xz from build_and_test_autosd.yml).
  The link is built from the release tag, because the asset is uploaded only
  when the release is published, after the note is final; the generator warns
  if the workflow at the ref no longer uploads the asset. The release-asset
  lookup via the GitHub API is dropped.
- AutoSD description: x86_64 QEMU image (qcow2) with the S-CORE showcases.
- Known Issues: the safety-package line added by hand in 12bd1f1 is now part of
  the generated text, so a refresh keeps it.
- Skill and agent: document IMAGE_DOWNLOADS, that hand-made lines in generated
  chapters go into the generator, and that a new note is the last entry of the
  explicit releases.rst toctree.
---
 .github/agents/release-note.agent.md          | 14 ++++---
 .github/skills/release-note/SKILL.md          | 40 ++++++++++++++----
 scripts/release_note/generate_release_note.py | 41 +++++++++++++------
 3 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/.github/agents/release-note.agent.md b/.github/agents/release-note.agent.md
index 9a88edcc284..eb736d0ae27 100644
--- a/.github/agents/release-note.agent.md
+++ b/.github/agents/release-note.agent.md
@@ -23,15 +23,18 @@ Read it first and follow it exactly.
 - List only platform-level new features and breaking changes (see the skill);
   module internals stay in the module release notes, which the note links.
 - DO NOT edit generated parts (status banner, Overview, headings and icons,
-  tables, architecture diagram SVG); only replace the `AI-FILL` markers. The
-  diagram is regenerated from scratch with every skeleton run.
+  tables, Images, Known Issues, Upgrade Instructions, architecture diagram
+  SVG); only replace the `AI-FILL` markers. The diagram is regenerated from
+  scratch with every skeleton run. If a generated part needs other content
+  (a new image download, a known issue, a line someone added by hand), change
+  the generator (`IMAGES`, `IMAGE_DOWNLOADS`, fixed text) and regenerate.
 - Pass `--final` only when the user explicitly asks for the final note;
   otherwise the note is a draft (see the skill, "Draft and final").
 - DO NOT overwrite an existing `release_note_score_*.rst` without the user
   asking for it; for comparisons write to a different path.
 - DO NOT commit or push.
 - ALWAYS surface generator warnings (missing tags, unreleased pins, missing
-  milestone) to the user.
+  milestone, image asset no longer uploaded) to the user.
 
 ## Workflow
 
@@ -47,8 +50,9 @@ Read it first and follow it exactly.
 4. Run `collect_changes.py` and classify into platform-level new features and
    breaking changes as described in the skill (use the impact hints).
 5. Replace both `.. AI-FILL:` markers (New Features, Breaking Changes).
-6. Make sure the new note is part of the `toctree` in
-   `docs/s_core_v_1/releases/releases.rst`.
+6. Make sure the new note is the last entry of the release-note `toctree` in
+   `docs/s_core_v_1/releases/releases.rst` (explicit list in release order,
+   no glob).
 7. Run the validation checks from the skill.
 8. Report: output path and diagram path, state (draft or final), generator
    warnings, modules with unreleased pins, modules shown with "no components
diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index 61f45c2c4e1..c392a46d722 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -24,8 +24,8 @@ runs the procedure; this skill holds the rules.
 | Reference Integration scope: Version, Source / tag, Release notes, Platform Verification Report (bullets) | release tag | script |
 | Integrated Software Modules (table incl. `score_platform` first; extra column Module verification report) | `known_good.json` group `target_sw` + `score_platform` | script |
 | Associated Infrastructure Modules (table) | `known_good.json` group `tooling` (without `score_platform`) | script |
-| Images (subchapter after the two module tables; table: Name, Tarball, How-to, Description) | release assets, README/runner docs at the tag | script |
-| Known Issues, Upgrade Instructions (registry hint, hint for commit pins, link to `known_good.json` at the tag), Contact | fixed text | script |
+| Images (subchapter after the two module tables; table: Name, Download, How-to, Description) | `IMAGES` and `IMAGE_DOWNLOADS` in the script, release workflows and README/runner docs at the release ref | script |
+| Known Issues (module release notes, incomplete safety packages), Upgrade Instructions (registry hint, hint for commit pins, link to `known_good.json` at the tag), Contact | fixed text | script |
 
 The scope section describes this repository (reference_integration) and holds
 links only; no change narrative. Changes of this repository and of the images
@@ -47,9 +47,24 @@ Never write module versions or links by hand.
 
 Image table: the image catalogue (`IMAGES` in the script) lists name,
 `images/`, description and how-to candidates. An image is listed only if
-`images/` exists at the release ref. Tarball is a release asset whose name
-contains the image directory name, else `---`. How-to is the first candidate that exists at the ref, else `---`.
-When an image is added or renamed in `images/`, update `IMAGES`.
+`images/` exists at the release ref. How-to is the first candidate that
+exists at the ref, else `---`.
+
+Download: images that a workflow uploads to the GitHub release of this
+repository are listed in `IMAGE_DOWNLOADS` (`images/` -> workflow, asset
+file name), today only AutoSD (`build_and_test_autosd.yml` uploads
+`eclipse-autosd-bootc-qemu-x86_64.qcow2.xz`, the AutoSD QEMU image with the
+S-CORE showcases). The link is built from the release tag
+(`.../releases/download//`), because the assets are uploaded
+only when the release is published, after the note is final. The generator
+checks that the workflow at the release ref still uploads the asset; if not, it
+warns and writes `---`. All other images have `---`.
+
+When an image is added or renamed in `images/`, update `IMAGES`; when a
+workflow starts or stops uploading an image to the release, or renames the
+asset, update `IMAGE_DOWNLOADS`. Images published by upstream projects (for
+example the AutoSD Raspberry Pi 4 image of eclipse-autosd) are not S-CORE
+images and are not listed.
 
 ## Draft and final
 
@@ -164,8 +179,10 @@ asks for release, origin and state (`draft` or `final`) and starts the agent.
    `--origin`, plus the `--changes` table. Runtime is a few minutes.
 5. **Narrative.** Replace the two `AI-FILL` markers (New Features, Breaking
    Changes) with the rules below. Nothing else in the file is written by hand.
-6. **Index.** Make sure the new note is part of the `toctree` in
-   `docs/s_core_v_1/releases/releases.rst` on the release branch.
+6. **Index.** Add the new note as the **last** entry of the release-note
+   `toctree` in `docs/s_core_v_1/releases/releases.rst` on the release branch.
+   The toctree lists the notes explicitly in release order; a glob would sort
+   `v0_10` before `v0_5`.
 7. **Validate** (checklist below) and report.
 
 An existing note is never overwritten unless the user asks for it; to compare,
@@ -177,6 +194,11 @@ matches the refreshed tables. Then run `collect_changes.py` again and add items
 for evidence that is not covered yet (new PRs or direct commits on the release
 branch); keep the reviewed items unless their evidence changed.
 
+Everything outside "Changes to the Platform" is generated, including Images,
+Known Issues and Upgrade Instructions. Lines added there by hand are lost on
+the next refresh: carry them into the generator (`IMAGES`, `IMAGE_DOWNLOADS` or
+the fixed text in `render`) in a separate commit and regenerate.
+
 Re-running with the same inputs gives the same tables and chapter structure.
 The narrative may be worded differently, but it has to name the same items as
 long as the evidence did not change.
@@ -285,7 +307,9 @@ Known limits of the evidence:
 - The Overview contains the `.. figure::` of the diagram and the SVG
   `docs/s_core_v_1/releases/_assets/architecture_v_.svg` was
   written by this run (it is committed together with the note).
-- The new note is part of the `toctree` in `releases.rst`.
+- The new note is the last entry of the release-note `toctree` in `releases.rst`.
+- The Download column links every image of `IMAGE_DOWNLOADS` (no generator
+  warning about a missing asset upload).
 - Every `~~~` item and every bullet names a PR, issue, commit or release note link.
 - Every new module of the `--changes` table and every removed mechanism of this
   repository is either in the note or named in the report.
diff --git a/scripts/release_note/generate_release_note.py b/scripts/release_note/generate_release_note.py
index b8341d5035f..74c3af14982 100644
--- a/scripts/release_note/generate_release_note.py
+++ b/scripts/release_note/generate_release_note.py
@@ -91,7 +91,7 @@
     (
         "Reference Red Hat AutoSD Linux image (Experimental)",
         "autosd",
-        "Red Hat AutoSD x86_64 image.",
+        "Red Hat AutoSD x86_64 QEMU image (qcow2) with the S-CORE showcases.",
         [("README.md", "Operating system integrations")],
     ),
     (
@@ -102,6 +102,12 @@
     ),
 ]
 
+# images/ -> (workflow that uploads the image to the GitHub release, asset file name).
+# The link is built from the release tag, so it is valid as soon as the release is published.
+IMAGE_DOWNLOADS = {
+    "autosd": (".github/workflows/build_and_test_autosd.yml", "eclipse-autosd-bootc-qemu-x86_64.qcow2.xz"),
+}
+
 DISPLAY_NAMES = {
     "score_baselibs": "Baselibs",
     "score_baselibs_rust": "Baselibs Rust",
@@ -270,8 +276,12 @@ def _exists(ref: str | None, path: str) -> bool:
     )
 
 
+def _read(ref: str | None, path: str) -> str:
+    return _git("show", f"{ref}:{path}") if ref else (REPO_ROOT / path).read_text()
+
+
 def _anchors(ref: str | None, path: str) -> set[str]:
-    text = _git("show", f"{ref}:{path}") if ref else (REPO_ROOT / path).read_text()
+    text = _read(ref, path)
     anchors = set()
     for line in text.splitlines():
         if line.startswith("#"):
@@ -312,15 +322,18 @@ def milestone_date(release: str) -> str:
     return due[:10]
 
 
-def release_assets(release: str) -> list[dict]:
-    try:
-        return _github_get(f"/repos/eclipse-score/{RELEASE_REPO}/releases/tags/{release}").get("assets", [])
-    except OSError:
-        return []  # release not published yet
+def _download(ref: str | None, release: str, directory: str) -> str | None:
+    """Release asset link of an image, if the workflow at the ref still uploads that asset."""
+    if directory not in IMAGE_DOWNLOADS:
+        return None
+    workflow, asset = IMAGE_DOWNLOADS[directory]
+    if not _exists(ref, workflow) or asset not in _read(ref, workflow):
+        print(f"warning: {workflow} does not upload {asset}; update IMAGE_DOWNLOADS", file=sys.stderr)
+        return None
+    return f"`{asset} <{ORG_URL}/{RELEASE_REPO}/releases/download/{release}/{asset}>`__"
 
 
 def render_images(release: str, ref: str | None) -> str:
-    assets = release_assets(release)
     rows = [
         "",
         ".. list-table::",
@@ -328,18 +341,18 @@ def render_images(release: str, ref: str | None) -> str:
         "   :widths: 30 15 15 40",
         "",
         "   * - Name",
-        "     - Tarball",
+        "     - Download",
         "     - How-to",
         "     - Description",
     ]
     for name, directory, description, candidates in IMAGES:
         if not _exists(ref, f"images/{directory}"):
             continue
-        asset = next((a for a in assets if directory in a["name"]), None)
+        download = _download(ref, release, directory)
         howto = _howto(ref, release, candidates)
         rows += [
             f"   * - {name}",
-            f"     - `{asset['name']} <{asset['browser_download_url']}>`__" if asset else f"     - {EMPTY_CELL}",
+            f"     - {download or EMPTY_CELL}",
             f"     - `How-to <{howto}>`__" if howto else f"     - {EMPTY_CELL}",
             f"     - {description}",
         ]
@@ -481,7 +494,11 @@ def render(release: str, origin: str, date: str, status: str, groups: dict[str,
 
     parts += [
         _heading("Known Issues/Vulnerabilities and Bug Fixes", "-"),
-        "\n- See the release notes of the individual modules.\n",
+        (
+            "\n- See the release notes of the individual modules."
+            "\n- Safety Package(s) not completed for modules and platform. "
+            "To qualify the S-CORE platform these gaps must be filled.\n"
+        ),
         _heading("Upgrade Instructions", "-"),
         f"""
 - Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui{unreleased_hint}

From 5e84ced7a38ae33cf8463966df88ff9e45bb2c53 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 07:39:08 +0000
Subject: [PATCH 33/80] Release note v0.10: refresh images table (AutoSD
 download)

Regenerated with the updated generator (draft); the reviewed 'Changes to the
Platform' chapter is unchanged.
---
 docs/s_core_v_1/releases/_assets/architecture_v0_10.svg | 2 +-
 docs/s_core_v_1/releases/release_note_score_v0_10.rst   | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 7f2dbd823db..dc8acda8b54 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -218,4 +218,4 @@
 NEW
 new since v0.9.0  (1)
 was … = version in v0.9.0
-generated from known_good.json @ 5d09c1bf631
+generated from known_good.json @ 12bd1f15073
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 82d69e144d4..f32c8765f28 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -377,7 +377,7 @@ from seconds to milliseconds.
    :widths: 30 15 15 40
 
    * - Name
-     - Tarball
+     - Download
      - How-to
      - Description
    * - Reference Linux x86_64 image
@@ -393,9 +393,9 @@ from seconds to milliseconds.
      - `How-to `__
      - QNX 8.0 aarch64 image, run in QEMU or on Raspberry Pi 4/5.
    * - Reference Red Hat AutoSD Linux image (Experimental)
-     - ---
+     - `eclipse-autosd-bootc-qemu-x86_64.qcow2.xz `__
      - `How-to `__
-     - Red Hat AutoSD x86_64 image.
+     - Red Hat AutoSD x86_64 QEMU image (qcow2) with the S-CORE showcases.
    * - Reference Elektrobit corbos Linux for Safety Applications image (Experimental)
      - ---
      - `How-to `__

From cccca35dd96788e5a972fa0c3a3018db55ee3423 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Thu, 29 Oct 2026 17:10:43 +0100
Subject: [PATCH 34/80] Bump score_communication and score_tooling to v3.0.1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 MODULE.bazel.lock                             | 1638 +++++++++++++----
 .../score_modules_target_sw.MODULE.bazel      |    6 +-
 .../score_modules_tooling.MODULE.bazel        |    2 +-
 known_good.json                               |   11 +-
 .../001-expose-comm-examples.patch            |   29 +-
 .../003-module-deps-visibility.patch          |   11 -
 ...rules-build-error-not-dev-dependency.patch |   13 -
 .../005-migrate-baselibs-rust-targets.patch   |   77 -
 .../communication/006-add-safe-math-dep.patch |   11 -
 9 files changed, 1250 insertions(+), 548 deletions(-)
 delete mode 100644 patches/communication/003-module-deps-visibility.patch
 delete mode 100644 patches/communication/004-rules-build-error-not-dev-dependency.patch
 delete mode 100644 patches/communication/005-migrate-baselibs-rust-targets.patch
 delete mode 100644 patches/communication/006-add-safe-math-dep.patch

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 30203a583c9..6b3a9db7b7d 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -16,6 +16,7 @@
     "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1",
     "https://bcr.bazel.build/modules/abseil-cpp/20250512.0/MODULE.bazel": "c4d02dd22cd87458516655a45512060246ee2a4732f1fbe948a5bd9eb614e626",
     "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215",
+    "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/source.json": "d725d73707d01bb46ab3ca59ba408b8e9bd336642ca77a2269d4bfb8bbfd413d",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.0/MODULE.bazel": "c43c16ca2c432566cdb78913964497259903ebe8fb7d9b57b38e9f1425b427b8",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c",
@@ -30,8 +31,10 @@
     "https://bcr.bazel.build/modules/apple_support/1.22.1/MODULE.bazel": "90bd1a660590f3ceffbdf524e37483094b29352d85317060b2327fff8f3f4458",
     "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442",
     "https://bcr.bazel.build/modules/apple_support/1.24.1/MODULE.bazel": "f46e8ddad60aef170ee92b2f3d00ef66c147ceafea68b6877cb45bd91737f5f8",
+    "https://bcr.bazel.build/modules/apple_support/1.24.1/source.json": "cf725267cbacc5f028ef13bb77e7f2c2e0066923a4dab1025e4a0511b1ed258a",
     "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4",
     "https://bcr.bazel.build/modules/apple_support/2.8.0/MODULE.bazel": "c45f5176057092afba0be6c48a9ea02101666802f8be536947e099e94757f8ed",
+    "https://bcr.bazel.build/modules/apple_support/2.8.0/source.json": "b7f6d87669c206adaa7d82cc44733349c63e341b80a0e049496ebd91d78c3472",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/MODULE.bazel": "fb209b83ed172af587419acb3340389cfe3260669e5f1c05e1ac3974aca614e0",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/source.json": "247d9f86d94c546533fb01e6e18b018486f9a6dff5faccae8838ef12e659b2a7",
     "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f",
@@ -50,6 +53,7 @@
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838",
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "66baf724dbae7aff4787bf2245cc188d50cb08e07789769730151c0943587c14",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "77dc393c43ad79398b05865444c5200c6f1aae6765615544f2c7730b5858d533",
+    "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/source.json": "062b1d3dba8adcfeb28fe60c185647f5a53ec0487ffe93cf0ae91566596e4b49",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/MODULE.bazel": "9b437a9ec25a619304940434fa03b8d41248213eb7009da2c898f3d6a4075ef3",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/source.json": "7b4cac4e61bae4262e7f67f6bec0b200fcb9060044f12e84a3bc37e0be245de7",
     "https://bcr.bazel.build/modules/aspect_rules_js/1.33.1/MODULE.bazel": "db3e7f16e471cf6827059d03af7c21859e7a0d2bc65429a3a11f005d46fc501b",
@@ -58,6 +62,7 @@
     "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/MODULE.bazel": "74bf20a7a6bd5f2be09607fdb4196cfd6f203422ea271752ec2b1afe95426101",
     "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836",
     "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed",
+    "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "1f4c81edd9af0c54e65dedbe36653fc63dc9a91605313d54d5ab371f853d693c",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "4d36bce3c1347bb4fed5906877dce0e683cb207f4032711aff32334003bcf835",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "24f49acb3b8375fa138ba6ab53bcf517ae92529770a04ab04d47c958ff47b63e",
@@ -81,6 +86,7 @@
     "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d",
     "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a",
     "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58",
+    "https://bcr.bazel.build/modules/bazel_features/1.2.0/MODULE.bazel": "122b2b606622afbaa498913d54f52d9bcd2d19a5edd1bd6d6c5aa17441c4d5f9",
     "https://bcr.bazel.build/modules/bazel_features/1.20.0/MODULE.bazel": "8b85300b9c8594752e0721a37210e34879d23adc219ed9dc8f4104a4a1750920",
     "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b",
     "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a",
@@ -222,6 +228,7 @@
     "https://bcr.bazel.build/modules/boringssl/0.20241024.0/MODULE.bazel": "b540cff73d948cb79cb0bc108d7cef391d2098a25adabfda5043e4ef548dbc87",
     "https://bcr.bazel.build/modules/boringssl/0.20251124.0/MODULE.bazel": "1e107f2b52cc5e002924bc3b33bb60516f96f91b51eb523127df9ea9a944a3b4",
     "https://bcr.bazel.build/modules/boringssl/0.20251124.0/source.json": "2f325a76db6c6e14c4db923a26aa9a4bfbbd03e61b9256311f460c18bfba6013",
+    "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "37389c6b5a40c59410b4226d3bb54b08637f393d66e2fa57925c6fcf68e64bf4",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "537faf0ad9f5892910074b8e43b4c91c96f1d5d86b6ed04bdbe40cf68aa48b68",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "a9b689711d5b69f9db741649b218c119b9fdf82924ba390415037e09798edd03",
@@ -232,16 +239,19 @@
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/MODULE.bazel": "29ecf4babfd3c762be00d7573c288c083672ab60e79c833ff7f49ee662e54471",
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/source.json": "8be4a3ef2599693f759e5c0990a4cc5a246ac08db4c900a38f852ba25b5c39be",
     "https://bcr.bazel.build/modules/c-ares/1.15.0/MODULE.bazel": "ba0a78360fdc83f02f437a9e7df0532ad1fbaa59b722f6e715c11effebaa0166",
+    "https://bcr.bazel.build/modules/c-ares/1.15.0/source.json": "5e3ed991616c5ec4cc09b0893b29a19232de4a1830eb78c567121bfea87453f7",
     "https://bcr.bazel.build/modules/c-ares/1.19.1/MODULE.bazel": "73bca21720772370ff91cc8e88bbbaf14897720c6473e87c1ddc0f848284c313",
     "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "f4632f68dbc075342966477d9c94a8a4a299d91e155980b042e1cd9f5a7ebcf5",
     "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/source.json": "55fae1e004176f6cb36efcc77de9894f799d985f482b8f82fec989d556745a84",
     "https://bcr.bazel.build/modules/cel-spec/0.15.0/MODULE.bazel": "e1eed53d233acbdcf024b4b0bc1528116d92c29713251b5154078ab1348cb600",
+    "https://bcr.bazel.build/modules/cel-spec/0.15.0/source.json": "ab7dccdf21ea2261c0f809b5a5221a4d7f8b580309f285fdf1444baaca75d44a",
     "https://bcr.bazel.build/modules/cel-spec/0.24.0/MODULE.bazel": "e310c7aff8490ed689ccafd32729b77a660b9547f5a5ba9b20e967011c324b36",
     "https://bcr.bazel.build/modules/cel-spec/0.24.0/source.json": "522d08bc22524e07863276dd0f038f446a83166e91281dcfc07d5b8433c8d89e",
     "https://bcr.bazel.build/modules/civetweb/1.16/MODULE.bazel": "46a38f9daeb57392e3827fce7d40926be0c802bd23cdd6bfd3a96c804de42fae",
     "https://bcr.bazel.build/modules/civetweb/1.16/source.json": "ba8b9585adb8355cb51b999d57172fd05e7a762c56b8d4bac6db42c99de3beb7",
     "https://bcr.bazel.build/modules/curl/8.4.0/MODULE.bazel": "0bc250aa1cb69590049383df7a9537c809591fcf876c620f5f097c58fdc9bc10",
     "https://bcr.bazel.build/modules/curl/8.7.1/MODULE.bazel": "088221c35a2939c555e6e47cb31a81c15f8b59f4daa8009b1e9271a502d33485",
+    "https://bcr.bazel.build/modules/curl/8.7.1/source.json": "bf9890e809717445b10a3ddc323b6d25c46631589c693a232df8310a25964484",
     "https://bcr.bazel.build/modules/curl/8.8.0/MODULE.bazel": "7da3b3e79b0b4ee8f8c95d640bc6ad7b430ce66ef6e9c9d2bc29b3b5ef85f6fe",
     "https://bcr.bazel.build/modules/curl/8.8.0/source.json": "d7d138b6878cf38891692fee0649ace35357fd549b425614d571786f054374d4",
     "https://bcr.bazel.build/modules/cxx.rs/1.0.186/MODULE.bazel": "af6d2cf790d198754250b1bf1dc36c671f2006ffff7ea1e19ee13972347ef16f",
@@ -254,12 +264,14 @@
     "https://bcr.bazel.build/modules/download_utils/1.2.2/MODULE.bazel": "7d185ec9dd3c5ee277f269e3a8e5f09b9de4cb7ba34d06b93dce9bf41c1279f8",
     "https://bcr.bazel.build/modules/download_utils/1.2.2/source.json": "c88be2bc48c98371d35665b805f307a647c98c83327345c918d9088822d77928",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "24e05f6f52f37be63a795192848555a2c8c855e7814dbc1ed419fb04a7005464",
+    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/source.json": "212043ab69d87f7a04aa4f627f725b540cff5e145a3a31a9403d8b6ec2e920c9",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20250128-4de3c74/MODULE.bazel": "1fe72489212c530086e3ffb0e018b2bfef4663200ca03571570f9f006bef1d75",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/MODULE.bazel": "b66e87a0e0c2207f07e35c321388eb1feb036344565977444b52912c53a84466",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/source.json": "c4780edf780977f2ab7d00a189432c5b0b2fa08c6e4e2e09d2950499364a687d",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/MODULE.bazel": "e0292ad82ecfc94217bf07d2a5a546f1ccbcd931b3a85f0841c10c035a168bf6",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/source.json": "4a507d687de21eb596ad2709671eb4684d94f1604f8f3760b4c079bb0a12224e",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19/MODULE.bazel": "fe3a7f7811f43264f68136ad99e64384d70b2a25245e09ab800c4bb83171da25",
+    "https://bcr.bazel.build/modules/flatbuffers/25.12.19/source.json": "ea0204be7a79de9141cee5fa436e58a14e88b39b5b59227b21efa0394474ebea",
     "https://bcr.bazel.build/modules/flatbuffers/25.9.23/MODULE.bazel": "32753ba60bf3bacfe7737c0f3e8e3e55624b19af5d398c485580d57492d145d8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.3/MODULE.bazel": "f1b7bb2dd53e8f2ef984b39485ec8a44e9076dda5c4b8efd2fb4c6a6e856a31d",
@@ -274,8 +286,11 @@
     "https://bcr.bazel.build/modules/gazelle/0.39.1/MODULE.bazel": "1fa3fefad240e535066fd0e6950dfccd627d36dc699ee0034645e51dbde3980f",
     "https://bcr.bazel.build/modules/gazelle/0.40.0/MODULE.bazel": "42ba5378ebe845fca43989a53186ab436d956db498acde790685fe0e8f9c6146",
     "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da",
+    "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6",
     "https://bcr.bazel.build/modules/gazelle/0.46.0/MODULE.bazel": "3dec215dacf2427df87b524a2c99da387882a18d753f0b1b38675992bd0a99c6",
     "https://bcr.bazel.build/modules/gazelle/0.46.0/source.json": "f255441117f6c63a3cbc0d4fd84c09c047e54a9bdaaf6aedf66e3b4218ddebd4",
+    "https://bcr.bazel.build/modules/gazelle/0.51.3/MODULE.bazel": "618a729142f66de1e2cb776d026413763be5b80d5e3d29ffb9d3d90c5defde90",
+    "https://bcr.bazel.build/modules/gazelle/0.51.3/source.json": "fbe5312a01fb4a2a58caff4a0d40dcf384b6f0bda75e85546663360da1d7538a",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.5/MODULE.bazel": "9ba9b31b984022828a950e3300410977eda2e35df35584c6b0b2d0c2e52766b7",
@@ -292,6 +307,7 @@
     "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/source.json": "cf611c836a60e98e2e2ab2de8004f119e9f06878dcf4ea2d95a437b1b7a89fe9",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "117b7c7be7327ed5d6c482274533f2dbd78631313f607094d4625c28203cacdf",
+    "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/source.json": "b31fc7eb283a83f71d2e5bfc3d1c562d2994198fa1278409fbe8caec3afc1d3e",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20241220-5e258e33.bcr.1/MODULE.bazel": "ee6c30f82ecd476e61f019fb1151aaab380ea419958ff274ef2f0efca7969f5c",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/MODULE.bazel": "cc9e5ed294ed9ebf42cdbbdddd2df29048519e3797004df1e3f369f31ff4f2d4",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/source.json": "21558a194c519e27262cca9cf031bb166a666a8b7fb89993b700c828f8dc0857",
@@ -314,6 +330,7 @@
     "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "f6047e89faf488f5e3e65cb2594c6f5e86992abec7487163ff6b623526e543b0",
     "https://bcr.bazel.build/modules/grpc/1.69.0/MODULE.bazel": "4e26e05c9e1ef291ccbc96aad8e457b1b8abedbc141623831629da2f8168eef6",
     "https://bcr.bazel.build/modules/grpc/1.70.1/MODULE.bazel": "b800cd8e3e7555c1e61cba2e02d3a2fcf0e91f66e800db286d965d3b7a6a721a",
+    "https://bcr.bazel.build/modules/grpc/1.70.1/source.json": "e2977ea6cf9f2755418934d4ae134a6569713dd200fd7aded86a4b7f1b86efc9",
     "https://bcr.bazel.build/modules/grpc/1.71.0/MODULE.bazel": "7fcab2c05530373f1a442c362b17740dd0c75b6a2a975eec8f5bf4c70a37928a",
     "https://bcr.bazel.build/modules/grpc/1.74.1/MODULE.bazel": "09523be10ba2bfd999683671d0f8f22fb5b20ec77ad89b05ef58ff19a1b65c82",
     "https://bcr.bazel.build/modules/grpc/1.76.0/MODULE.bazel": "7373bd407fcb183b8bf379fa35dfe29feebdc6d8ec1bc40004cec6c7b2544be0",
@@ -339,6 +356,7 @@
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/MODULE.bazel": "cc18734138dd18c912c6ce2a59186db28f85d8058c99c9f21b46ca3e0aba0ebe",
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/source.json": "7c135f9d42bb3b045669c3c6ab3bb3c208e00b46aca4422eea64c29811a5b240",
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "02201d2921dadb4ec90c4980eca4b2a02904eddcf6fa02f3da7594fb7b0d821c",
+    "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/source.json": "f50efc07822f5425bd1d3e40e977484f9c0142463052717d40ec85cd6744243e",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "789706a714855f92c5c8cfcf1ef32bbb64dcd3b7c9066756ad7986ec59709d29",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/source.json": "aadf3f53e08b72376506b7c4ea3d167010c9efb160d7d6e1e304ed646bac1b36",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/MODULE.bazel": "4a2e8b4d0b544002502474d611a5a183aa282251e14f6a01afe841c0c1b10372",
@@ -347,11 +365,13 @@
     "https://bcr.bazel.build/modules/openssl/3.5.5.bcr.4/source.json": "662d68be9227e60ef65fed83c6820564bda4af0efe6a40dc62dd9aee288fe9cf",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "089a5613c2a159c7dfde098dabfc61e966889c7d6a81a98422a84c51535ed17d",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "b7379a140f538cea3f749179a2d481ed81942cc6f7b05a6113723eb34ac3b3e7",
+    "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/source.json": "da0cf667713b1e48d7f8912b100b4e0a8284c8a95717af5eb8c830d699e61cf5",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/MODULE.bazel": "3455326c08b28415648a3d60d8e3c811847ebdbe64474f75b25878f25585aea1",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/source.json": "4e48137e4c3ecb99401ff99876df8fa330598d7da051869bec643446e8a8ff95",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.1.0/MODULE.bazel": "a49f406e99bf05ab43ed4f5b3322fbd33adfd484b6546948929d1316299b68bf",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.3.1/MODULE.bazel": "0141a50e989576ee064c11ce8dd5ec89993525bd9f9a09c5618e4dacc8df9352",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/MODULE.bazel": "5ceaf25e11170d22eded4c8032728b4a3f273765fccda32f9e94f463755c4167",
+    "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/source.json": "fb9e01517460cfad8bafab082f2e1508d3cc2b7ed700cff19f3c7c84b146e5eb",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/MODULE.bazel": "7543d91a53b98e7b5b37c5a0865b93bff12c1ee022b1e322cd236b968894b030",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/source.json": "046b721ce203e88cdaad44d7dd17a86b7200eab9388b663b234e72e13ff7b143",
     "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/MODULE.bazel": "b3925269f63561b8b880ae7cf62ccf81f6ece55b62cd791eda9925147ae116ec",
@@ -377,6 +397,7 @@
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/MODULE.bazel": "116ad46e97c1d2aeb020fe2899a342a7e703574ce7c0faf7e4810f938c974a9a",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/source.json": "e813cce2d450708cfcb26e309c5172583a7440776edf354e83e6788c768e5cca",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/MODULE.bazel": "ce82e086bbc0b60267e970f6a54b2ca6d0f22d3eb6633e00e2cc2899c700f3d8",
+    "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/source.json": "8cb66b4e535afc718e9d104a3db96ccb71a42ee816a100e50fd0d5ac843c0606",
     "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7",
     "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a",
     "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12",
@@ -398,12 +419,14 @@
     "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858",
     "https://bcr.bazel.build/modules/protobuf/30.0/MODULE.bazel": "0e736de5d52ad7824113f47e65256a26ee74b689ba859c5447a0663e5a075409",
     "https://bcr.bazel.build/modules/protobuf/31.1/MODULE.bazel": "379a389bb330b7b8c1cdf331cc90bf3e13de5614799b3b52cdb7c6f389f6b38e",
+    "https://bcr.bazel.build/modules/protobuf/31.1/source.json": "25af5d0219da0c0fc4d1191a24ce438e6ca7f49d2e1a94f354efeba6ef10426f",
     "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d",
     "https://bcr.bazel.build/modules/protobuf/33.0/MODULE.bazel": "c5270efb4aad37a2f893536076518793f409ea7df07a06df995d848d1690f21c",
     "https://bcr.bazel.build/modules/protobuf/33.0/source.json": "cd7ac80ad863190b9151281a85acc11d77b5bde2ba56443a7215da2d4ace6da3",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "c4bd2c850211ff5b7dadf9d2d0496c1c922fdedc303c775b01dfd3b3efc907ed",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "b8913c154b16177990f6126d2d2477d187f9ddc568e95ee3e2d50fc65d2c494a",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "4bf09676b62fa587ae07e073420a76ec8766dcce7545e5f8c68cfa8e484b5120",
+    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/source.json": "c19071ebc4b53b5f1cfab9c66eefaf6e4179eb8a998970d07b1077687e777f29",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/MODULE.bazel": "3bd4b14a8e7c78dbef973280deabaa139db1fe350aa92da03730a31f59082068",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/source.json": "14c28a5527fcd699f5efbf83a046666efabed3384364bd48428de89dfdc8110e",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1/MODULE.bazel": "52b51f50533ec4fbd5d613cd093773f979ac2e035d954e02ca11de383f502505",
@@ -425,6 +448,7 @@
     "https://bcr.bazel.build/modules/rules_android/0.6.6/source.json": "a9d8dc2d5a102dc03269a94acc886a4cab82cdcb9ccbc77b0f665d6d17a6ae09",
     "https://bcr.bazel.build/modules/rules_apple/3.13.0/MODULE.bazel": "b4559a2c6281ca3165275bb36c1f0ac74666632adc5bdb680e366de7ce845f43",
     "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a",
+    "https://bcr.bazel.build/modules/rules_apple/3.16.0/source.json": "d8b5fe461272018cc07cfafce11fe369c7525330804c37eec5a82f84cd475366",
     "https://bcr.bazel.build/modules/rules_apple/3.5.1/MODULE.bazel": "3d1bbf65ad3692003d36d8a29eff54d4e5c1c5f4bfb60f79e28646a924d9101c",
     "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68",
     "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715",
@@ -455,7 +479,10 @@
     "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4",
     "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84",
     "https://bcr.bazel.build/modules/rules_cc/0.2.20/MODULE.bazel": "f5c07bce5ddcb99be21a0812ff5aadb439e688b7449c6542152363b2fd859c1a",
+    "https://bcr.bazel.build/modules/rules_cc/0.2.22/MODULE.bazel": "94df4328edef9e44d38de5e73b037cd348e75e7ae55f4e21bf07878c41a31ebb",
+    "https://bcr.bazel.build/modules/rules_cc/0.2.22/source.json": "b2d6d6f9c332ce269ad75b89c6f3168d809a66173c9040210fb9bcc733ab42fa",
     "https://bcr.bazel.build/modules/rules_cc/0.2.25/MODULE.bazel": "4a3d4f3606d3b3190be495dbc497acca552807d1d5540661ef0d1658472882e3",
+    "https://bcr.bazel.build/modules/rules_cc/0.2.25/source.json": "8df28a9a97b878fe45f0a4f4adf019869dda51a60ee2f6e15a0c79656a25058d",
     "https://bcr.bazel.build/modules/rules_cc/0.2.26/MODULE.bazel": "a9f7b7f4a52747910965bddb1f58fc1fef50604ed1980ebdd16ea6f446d92249",
     "https://bcr.bazel.build/modules/rules_cc/0.2.26/source.json": "bf9ff315da6055c1e374d627012cc51947a05b3560674af7d69fbedbb4fde6ef",
     "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc",
@@ -477,10 +504,14 @@
     "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0",
     "https://bcr.bazel.build/modules/rules_go/0.51.0-rc2/MODULE.bazel": "edfc3a9cea7bedb0eaaff37b0d7817c1a4bf72b3c615580b0ffcee6c52690fd4",
     "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f",
+    "https://bcr.bazel.build/modules/rules_go/0.51.0/source.json": "473c0263360b1ae3aca71758e001d257a638620b2e2a36e3a2721fdae04377ec",
     "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a",
     "https://bcr.bazel.build/modules/rules_go/0.58.3/MODULE.bazel": "5582119a4a39558d8d1b1634bcae46043d4f43a31415e861c3551b2860040b5e",
+    "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae",
     "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb",
     "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464",
+    "https://bcr.bazel.build/modules/rules_go/0.64.2/MODULE.bazel": "178287400ec88bc4e20c048b5cf9b8e619d9879eb6118592f8572e49d5342c74",
+    "https://bcr.bazel.build/modules/rules_go/0.64.2/source.json": "322caa7c76104d7c03d5b3cc097836b47ab20c5f14b92b6c6bdcffe6a2e732d2",
     "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74",
     "https://bcr.bazel.build/modules/rules_java/5.1.0/MODULE.bazel": "324b6478b0343a3ce7a9add8586ad75d24076d6d43d2f622990b9c1cfd8a1b15",
     "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86",
@@ -502,6 +533,7 @@
     "https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e",
     "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615",
     "https://bcr.bazel.build/modules/rules_java/8.15.1/MODULE.bazel": "5071eebf0fd602ab0617f846e0e0d8f388d66c961513c736e0ac4a1dcde3ff2c",
+    "https://bcr.bazel.build/modules/rules_java/8.15.1/source.json": "e48286d5819767bc5b3d457539ae7f94e28a9b3e55d092d5c47176cb6a2a289b",
     "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3",
     "https://bcr.bazel.build/modules/rules_java/8.16.1/source.json": "072f8d11264edc499621be2dc9ea01d6395db5aa6f8799c034ae01a3e857f2e4",
     "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017",
@@ -533,6 +565,7 @@
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/MODULE.bazel": "32d628ef586b5b23f67e55886b7bc38913ea4160420d66ae90521dda2ff37df0",
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/source.json": "e882ba77962fa6c5fe68619e5c7d0374ec9a219fb8d03c42eadaf6d0243771bd",
     "https://bcr.bazel.build/modules/rules_multitool/0.11.0/MODULE.bazel": "8d9dda78d2398e136300d3ef4fbcc89ede7c32c158d8c016fa7d032df41c4aaf",
+    "https://bcr.bazel.build/modules/rules_multitool/0.4.0/MODULE.bazel": "15517987d5c00c9e7faab41fbe22ee67a350b6eabcc1e08baded5c6d9025897f",
     "https://bcr.bazel.build/modules/rules_multitool/1.9.0/MODULE.bazel": "8a042b0dbf35e4aaa94c28ad69efa75c9e673e9ea4bd5c0fb70bab75ef9c636b",
     "https://bcr.bazel.build/modules/rules_multitool/1.9.0/source.json": "d9a01604a8b5c4a0e9430824dd34ca5b1b3f5b25277b755e8f3ae91f2c9362a3",
     "https://bcr.bazel.build/modules/rules_nodejs/5.8.2/MODULE.bazel": "6bc03c8f37f69401b888023bf511cb6ee4781433b0cb56236b2e55a21e3a026a",
@@ -553,6 +586,7 @@
     "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06",
     "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7",
     "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483",
+    "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "e17f94f8a347e2c808517b65d74988839d2d62daceb50073e44060193b785eb1",
     "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f",
     "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73",
     "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2",
@@ -603,6 +637,7 @@
     "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca",
     "https://bcr.bazel.build/modules/rules_swift/1.18.0/MODULE.bazel": "a6aba73625d0dc64c7b4a1e831549b6e375fbddb9d2dde9d80c9de6ec45b24c9",
     "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046",
+    "https://bcr.bazel.build/modules/rules_swift/2.1.1/source.json": "40fc69dfaac64deddbb75bd99cdac55f4427d9ca0afbe408576a65428427a186",
     "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd",
     "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400",
     "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66",
@@ -617,6 +652,7 @@
     "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5",
     "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91",
+    "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/source.json": "32bd87e5f4d7acc57c5b2ff7c325ae3061d5e242c0c4c214ae87e0f1c13e54cb",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b",
     "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468",
@@ -627,6 +663,7 @@
     "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/MODULE.bazel": "9b8be503a4fcfd3b8b952525bff0869177a5234d5c35dc3e566b9f5ca2f755a1",
     "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/MODULE.bazel": "68259b66e5fb84f94fa37125ad476c3eb8edf602a34bf58377cde9a16dd8fa98",
     "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/source.json": "70d80fe5b626a3fadf812af41dda4a028640a1184f5a3c7e6cb20130d93ed783",
+    "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91",
     "https://bcr.bazel.build/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "6cced416be2dc5b9c05efd5b997049ba795e5e4e6fafbe1624f4587767638928",
     "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43",
     "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9",
@@ -701,6 +738,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "not found",
@@ -720,6 +758,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.17.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.18.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.19.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.2.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.20.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.21.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.23.0/MODULE.bazel": "not found",
@@ -810,6 +849,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20240913.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20241024.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20251124.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "not found",
@@ -849,6 +889,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.40.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.44.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.46.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.51.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.5/MODULE.bazel": "not found",
@@ -994,6 +1035,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.17/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.20/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.22/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.25/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.26/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.4/MODULE.bazel": "not found",
@@ -1016,7 +1058,9 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.51.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.53.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.58.3/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.59.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.60.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.64.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/4.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.3.5/MODULE.bazel": "not found",
@@ -1064,6 +1108,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_license/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multirun/0.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.11.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/5.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.2.0/MODULE.bazel": "not found",
@@ -1080,6 +1125,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/4.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/7.0.2/MODULE.bazel": "not found",
@@ -1131,8 +1177,12 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/3.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/MODULE.bazel": "ab876c72e62f4ad29a20da6fe69c7d888c49f12d382dac241ee7ff98341778ff",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/source.json": "fce4fdcbb347484e4d7d8b9ecec251e21ec7f462ad02a38dbc5bec9057e7c470",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/MODULE.bazel": "1acc254faa90e9f97b79ac69af25b6c21c561f8d6079914f6352b9b20d26bd37",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/source.json": "e3d10be878d1a007967b75a5c6d9c3ec3d47c320685904b7f31c689b3cbcdb3a",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
@@ -1143,6 +1193,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process_description/2.2.2/source.json": "8b974430c3e2023a7534412e2bc03bced4eef9838f3b573739b7652fd26b335c",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/MODULE.bazel": "aaffff67916dd058737aac8e04368f12b214e7646ff58adbab48e6429d1a5410",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/source.json": "c40a614fd88beab7cb65b8640debd44eff3fbc32a7839734ef1112f265d2eeef",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.3.0/MODULE.bazel": "1e4737455108eaf6e482b6cedc2c588b4935c4ec8efcd1c53d81e0dd765247a3",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.3.0/source.json": "07c574f14574ba2cb46fd84eb28600f44599a2c29e1023dbdb777985ee4b80c0",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.3/MODULE.bazel": "d87fcd3485438284fa96d6a5a81923d6b6672468947423517cc43c4d7692ca6a",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.1.0/MODULE.bazel": "7964f78b6a92aebc38916dedbfb5f011d4fa4c385d86f7612c39c7a423b012cc",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.1.0/source.json": "8aa1214aec6645a9cbbfec86b855402de2f0c42b9aa37224279a64788350a58e",
@@ -1172,6 +1224,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.7.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_llvm/1.8.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "not found",
@@ -1789,6 +1842,203 @@
         ]
       }
     },
+    "@@cel-spec+//:extensions.bzl%non_module_dependencies": {
+      "general": {
+        "bzlTransitiveDigest": "49v9UE4eBOMtW8ATb+3VHdFaCc//dFbCS+ZQW0HIKNE=",
+        "usagesDigest": "HFQJtQrL9nKaFZEjgwaHVMHALMW+cafu696xy7J4ueM=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "com_google_googleapis": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "sha256": "bd8e735d881fb829751ecb1a77038dda4a8d274c45490cb9fcf004583ee10571",
+              "strip_prefix": "googleapis-07c27163ac591955d736f3057b1619ece66f5b99",
+              "urls": [
+                "https://github.com/googleapis/googleapis/archive/07c27163ac591955d736f3057b1619ece66f5b99.tar.gz"
+              ]
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "cel-spec+",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
+      }
+    },
+    "@@cel-spec+//:googleapis_ext.bzl%googleapis_ext": {
+      "general": {
+        "bzlTransitiveDigest": "yun2jmsomFi3bs5bjQWXApBzqQf66zBJ39JEBYigzdc=",
+        "usagesDigest": "Ek7VfZ+tuyRBx/1h5wcmtnW9EGpOb0dkXUwBluZbD8k=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "com_google_googleapis_imports": {
+            "repoRuleId": "@@cel-spec++non_module_dependencies+com_google_googleapis//:repository_rules.bzl%switched_rules",
+            "attributes": {
+              "rules": {
+                "proto_library_with_info": [
+                  "",
+                  ""
+                ],
+                "moved_proto_library": [
+                  "",
+                  ""
+                ],
+                "java_proto_library": [
+                  "",
+                  ""
+                ],
+                "java_grpc_library": [
+                  "",
+                  ""
+                ],
+                "java_gapic_library": [
+                  "",
+                  ""
+                ],
+                "java_gapic_test": [
+                  "",
+                  ""
+                ],
+                "java_gapic_assembly_gradle_pkg": [
+                  "",
+                  ""
+                ],
+                "py_proto_library": [
+                  "",
+                  ""
+                ],
+                "py_grpc_library": [
+                  "",
+                  ""
+                ],
+                "py_gapic_library": [
+                  "",
+                  ""
+                ],
+                "py_test": [
+                  "",
+                  ""
+                ],
+                "py_gapic_assembly_pkg": [
+                  "",
+                  ""
+                ],
+                "py_import": [
+                  "",
+                  ""
+                ],
+                "go_proto_library": [
+                  "",
+                  ""
+                ],
+                "go_library": [
+                  "",
+                  ""
+                ],
+                "go_test": [
+                  "",
+                  ""
+                ],
+                "go_gapic_library": [
+                  "",
+                  ""
+                ],
+                "go_gapic_assembly_pkg": [
+                  "",
+                  ""
+                ],
+                "cc_proto_library": [
+                  "native.cc_proto_library",
+                  ""
+                ],
+                "cc_grpc_library": [
+                  "",
+                  ""
+                ],
+                "cc_gapic_library": [
+                  "",
+                  ""
+                ],
+                "php_proto_library": [
+                  "",
+                  "php_proto_library"
+                ],
+                "php_grpc_library": [
+                  "",
+                  "php_grpc_library"
+                ],
+                "php_gapic_library": [
+                  "",
+                  "php_gapic_library"
+                ],
+                "php_gapic_assembly_pkg": [
+                  "",
+                  "php_gapic_assembly_pkg"
+                ],
+                "nodejs_gapic_library": [
+                  "",
+                  "typescript_gapic_library"
+                ],
+                "nodejs_gapic_assembly_pkg": [
+                  "",
+                  "typescript_gapic_assembly_pkg"
+                ],
+                "ruby_proto_library": [
+                  "",
+                  ""
+                ],
+                "ruby_grpc_library": [
+                  "",
+                  ""
+                ],
+                "ruby_ads_gapic_library": [
+                  "",
+                  ""
+                ],
+                "ruby_cloud_gapic_library": [
+                  "",
+                  ""
+                ],
+                "ruby_gapic_assembly_pkg": [
+                  "",
+                  ""
+                ],
+                "csharp_proto_library": [
+                  "",
+                  ""
+                ],
+                "csharp_grpc_library": [
+                  "",
+                  ""
+                ],
+                "csharp_gapic_library": [
+                  "",
+                  ""
+                ],
+                "csharp_gapic_assembly_pkg": [
+                  "",
+                  ""
+                ]
+              }
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "cel-spec+",
+            "com_google_googleapis",
+            "cel-spec++non_module_dependencies+com_google_googleapis"
+          ]
+        ]
+      }
+    },
     "@@envoy_api+//bazel:repositories.bzl%non_module_deps": {
       "general": {
         "bzlTransitiveDigest": "ZZmkeUj6sKBhRPx7KC3Ko/bFvj0z/1JGGmJwq07Bjz8=",
@@ -1927,6 +2177,126 @@
         "recordedRepoMappingEntries": []
       }
     },
+    "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": {
+      "general": {
+        "bzlTransitiveDigest": "kxAYy1bmzZuPVOwFa9NVrtR2OsCk7+A9VzGQpTzQ+i0=",
+        "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "local_provisioning_profiles": {
+            "repoRuleId": "@@rules_apple+//apple/internal:local_provisioning_profiles.bzl%provisioning_profile_repository",
+            "attributes": {}
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "apple_support+",
+            "bazel_skylib",
+            "bazel_skylib+"
+          ],
+          [
+            "bazel_tools",
+            "rules_cc",
+            "rules_cc+"
+          ],
+          [
+            "rules_apple+",
+            "bazel_skylib",
+            "bazel_skylib+"
+          ],
+          [
+            "rules_apple+",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_apple+",
+            "build_bazel_apple_support",
+            "apple_support+"
+          ],
+          [
+            "rules_apple+",
+            "build_bazel_rules_swift",
+            "rules_swift+"
+          ],
+          [
+            "rules_cc+",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_cc+",
+            "cc_compatibility_proxy",
+            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
+          ],
+          [
+            "rules_cc+",
+            "rules_cc",
+            "rules_cc+"
+          ],
+          [
+            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
+            "rules_cc",
+            "rules_cc+"
+          ],
+          [
+            "rules_swift+",
+            "bazel_skylib",
+            "bazel_skylib+"
+          ],
+          [
+            "rules_swift+",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_swift+",
+            "build_bazel_apple_support",
+            "apple_support+"
+          ],
+          [
+            "rules_swift+",
+            "build_bazel_rules_swift",
+            "rules_swift+"
+          ],
+          [
+            "rules_swift+",
+            "build_bazel_rules_swift_local_config",
+            "rules_swift++non_module_deps+build_bazel_rules_swift_local_config"
+          ]
+        ]
+      }
+    },
+    "@@rules_apple+//apple:extensions.bzl%non_module_deps": {
+      "general": {
+        "bzlTransitiveDigest": "4xtddSlWIQdtVNVuvOI62fJfQVETHZCVWFvYYwQHMR4=",
+        "usagesDigest": "M3VqFpeTCo4qmrNKGZw0dxBHvTYDrfV3cscGzlSAhQ4=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "xctestrunner": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/google/xctestrunner/archive/b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6.tar.gz"
+              ],
+              "strip_prefix": "xctestrunner-b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6",
+              "sha256": "ae3a063c985a8633cb7eb566db21656f8db8eb9a0edb8c182312c7f0db53730d"
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_apple+",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
+      }
+    },
     "@@rules_boost+//:boost/repositories.bzl%non_module_dependencies": {
       "general": {
         "bzlTransitiveDigest": "LyNJAJDFfdhRYUCeGd1OJlb0/cdtrEpQca0MpJy9l6w=",
@@ -3745,8 +4115,11 @@
     "@@rules_rust+//crate_universe:extensions.bzl%crate": {
       "general": {
         "bzlTransitiveDigest": "N87iFb1kl75ImHvt/FcUlH3gc053UN44t7+uYjQrdGQ=",
-        "usagesDigest": "Wnt7yIwQF1zZ4OYW+fp3AZRLsc2VMRYzw44s3a0WbBw=",
-        "recordedFileInputs": {},
+        "usagesDigest": "BB3FHp5tuT90oH9o9b4+r74nHxe9kk922Z1PVAWWsjQ=",
+        "recordedFileInputs": {
+          "@@score_tooling+//Cargo.lock": "073808c4d30ce6d029db2867b48a017d22a9b400c6858f47fea4338583069c46",
+          "@@score_tooling+//cargo-bazel-lock.json": "9ebce94df54b2255bdf819763b94a0830a74591d1ed8589348b76a7d2957abe8"
+        },
         "recordedDirentsInputs": {},
         "envVariables": {
           "CARGO_BAZEL_DEBUG": null,
@@ -3763,9 +4136,9 @@
             "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo",
             "attributes": {
               "contents": {
-                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"adler32-1.2.0\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"adler32\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow-1.0.104\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh-0.1.19\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec-0.7.8\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream-0.3.6\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes-1.12.1\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc-1.8.0\",\n    actual = \"@crate_index__cc-1.8.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc\",\n    actual = \"@crate_index__cc-1.8.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack-0.3.8\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console-0.16.6\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc-3.5.2\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.11.11\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent-1.0.2\",\n    actual = \"@crate_index__equivalent-1.0.2//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent\",\n    actual = \"@crate_index__equivalent-1.0.2//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash-0.2.0\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures-0.3.34\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown-0.17.1\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes-0.4.3\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-0.5.0\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap-2.14.2\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-0.18.6\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge-0.2.3\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel-0.20.2\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc-0.2.186\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.34\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom-0.7.2\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio-1.2.4\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall-0.14.0\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix-0.30.1\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste-1.0.15\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey-0.2.3\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args-0.5.0\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard-1.1.3\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2-1.0.107\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-0.14.4\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build-0.14.4\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types-0.14.4\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost-0.4.0\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic-0.4.1\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote-1.0.47\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand-0.9.5\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion-1.0.23\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe-0.2.1\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core-1.0.229\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook-0.3.18\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2-0.6.5\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn-2.0.119\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile-3.27.0\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-2.0.21\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time-0.3.55\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson-2.5.1\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-1.53.2\",\n    actual = \"@crate_index__tokio-1.53.2//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio\",\n    actual = \"@crate_index__tokio-1.53.2//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket-0.8.2\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util-0.7.20\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic-0.14.6\",\n    actual = \"@crate_index__tonic-0.14.6//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic\",\n    actual = \"@crate_index__tonic-0.14.6//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-0.1.44\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber-0.3.23\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n    name = \"protoc-gen-prost__protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic__protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n    tags = [\"manual\"],\n)\n",
+                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"adler32-1.2.0\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"adler32\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow-1.0.104\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh-0.1.19\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec-0.7.8\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream-0.3.6\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes-1.12.1\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc-1.10.0\",\n    actual = \"@crate_index__cc-1.10.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc\",\n    actual = \"@crate_index__cc-1.10.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack-0.3.8\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console-0.16.6\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc-3.5.2\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.11.11\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent-1.0.3\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash-0.2.0\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures-0.3.34\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown-0.17.1\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes-0.4.3\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-0.5.0\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap-2.14.2\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-0.18.6\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge-0.2.3\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel-0.20.2\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc-0.2.186\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.34\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom-0.7.2\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio-1.2.4\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall-0.14.0\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix-0.30.1\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste-1.0.15\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey-0.2.3\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args-0.5.0\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard-1.1.3\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2-1.0.107\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-0.14.4\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build-0.14.4\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types-0.14.4\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost-0.4.0\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic-0.4.1\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote-1.0.47\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand-0.9.5\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion-1.0.23\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe-0.2.1\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core-1.0.229\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook-0.3.18\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2-0.6.5\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn-2.0.119\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile-3.27.0\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-2.0.21\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time-0.3.55\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson-2.5.1\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-1.54.1\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket-0.8.2\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util-0.7.20\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic-0.14.8\",\n    actual = \"@crate_index__tonic-0.14.8//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic\",\n    actual = \"@crate_index__tonic-0.14.8//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-0.1.44\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber-0.3.23\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n    name = \"protoc-gen-prost__protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic__protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n    tags = [\"manual\"],\n)\n",
                 "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n    # `ctx.attr.actual` is a list of 1 item due to the transition\n    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n    if CcInfo in ctx.attr.actual[0]:\n        providers.append(ctx.attr.actual[0][CcInfo])\n    return providers\n\ndef _change_compilation_mode(compilation_mode):\n    def _change_compilation_mode_impl(_settings, _attr):\n        return {\n            \"//command_line_option:compilation_mode\": compilation_mode,\n        }\n\n    return transition(\n        implementation = _change_compilation_mode_impl,\n        inputs = [],\n        outputs = [\n            \"//command_line_option:compilation_mode\",\n        ],\n    )\n\ndef _transition_alias_rule(compilation_mode):\n    return rule(\n        implementation = _transition_alias_impl,\n        provides = COMMON_PROVIDERS,\n        attrs = {\n            \"actual\": attr.label(\n                mandatory = True,\n                doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n                providers = COMMON_PROVIDERS,\n                cfg = _change_compilation_mode(compilation_mode),\n            ),\n            \"_allowlist_function_transition\": attr.label(\n                default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n            ),\n        },\n        doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n    )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n",
-                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.8.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.2\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.34\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.53.2\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.6\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.8.0\",\n        sha256 = \"6651c9ed80effdc7db0ff72512157f901af5e3549e341e24b1dd4887d836d838\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.8.0/download\"],\n        strip_prefix = \"cc-1.8.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.8.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.1.1\",\n        sha256 = \"e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.1.1/download\"],\n        strip_prefix = \"defmt-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.1.1\",\n        sha256 = \"bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.1.1/download\"],\n        strip_prefix = \"defmt-macros-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.0.0\",\n        sha256 = \"10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.0.0/download\"],\n        strip_prefix = \"defmt-parser-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.8\",\n        sha256 = \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.8/download\"],\n        strip_prefix = \"deranged-0.5.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.2\",\n        sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n        strip_prefix = \"equivalent-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.14\",\n        sha256 = \"aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.14/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.10\",\n        sha256 = \"54ade96dc9003043bce7c035c85a9df5a858bfb2039c5a2e6fdf00f324f6c551\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.10/download\"],\n        strip_prefix = \"generator-0.8.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.3.0\",\n        sha256 = \"fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.3.0/download\"],\n        strip_prefix = \"icu_collections-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.3.0\",\n        sha256 = \"d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.3.0/download\"],\n        strip_prefix = \"icu_locale_core-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.3.0\",\n        sha256 = \"251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.3.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.3.0\",\n        sha256 = \"decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.3.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.3.1\",\n        sha256 = \"d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.3.1/download\"],\n        strip_prefix = \"icu_provider-2.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.3.0\",\n        sha256 = \"82d07aafccd67af15d02512a6adf5896fbc5ed00f2e99b471d2efa14016db3db\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.3.0/download\"],\n        strip_prefix = \"icu_segmenter-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.3.0\",\n        sha256 = \"ae293c039020f9ec10710af98d29ce6aa2051486638b49c9a6409f3b4a9e98ad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.3.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.38\",\n        sha256 = \"b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.38/download\"],\n        strip_prefix = \"jiff-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.1\",\n        sha256 = \"5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.1/download\"],\n        strip_prefix = \"jiff-core-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.38\",\n        sha256 = \"2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.38/download\"],\n        strip_prefix = \"jiff-static-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.106\",\n        sha256 = \"7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.106/download\"],\n        strip_prefix = \"js-sys-0.3.106\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.106.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.34\",\n        sha256 = \"f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.34/download\"],\n        strip_prefix = \"log-0.4.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.5\",\n        sha256 = \"891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.5/download\"],\n        strip_prefix = \"rustix-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.3\",\n        sha256 = \"5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.3/download\"],\n        strip_prefix = \"smallvec-1.16.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.8\",\n        sha256 = \"01016da373cd8f7ef12624f796309f5c31ba8d646dd08856c02cd741d823c622\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.8/download\"],\n        strip_prefix = \"syn-3.0.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.4\",\n        sha256 = \"b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.4/download\"],\n        strip_prefix = \"tinystr-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.53.2\",\n        sha256 = \"e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.53.2/download\"],\n        strip_prefix = \"tokio-1.53.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.53.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.6\",\n        sha256 = \"ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.6/download\"],\n        strip_prefix = \"tonic-0.14.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.26\",\n        sha256 = \"d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.26/download\"],\n        strip_prefix = \"unicode-ident-1.0.26\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.26.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.2\",\n        sha256 = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.2/download\"],\n        strip_prefix = \"unicode-width-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.0.4\",\n        sha256 = \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.0.4/download\"],\n        strip_prefix = \"utf8_iter-1.0.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.0.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.28.0\",\n        sha256 = \"7cc1186384beb7dd8eedea376413fd654937285ea6c9cfbb928dc3043ea4b606\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.28.0/download\"],\n        strip_prefix = \"uuid-1.28.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.28.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.129\",\n        sha256 = \"9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.129\",\n        sha256 = \"2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.129\",\n        sha256 = \"6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.129\",\n        sha256 = \"23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.3\",\n        sha256 = \"709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.3/download\"],\n        strip_prefix = \"yoke-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.62\",\n        sha256 = \"86502bf56ac7c77571a32e2647bb2a15894565e981fb2a48d7bde2d91c965a9d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.62/download\"],\n        strip_prefix = \"zerocopy-0.8.62\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.62.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.62\",\n        sha256 = \"5457206954b06561e2608c7e19cf58b1926586d999c246eebe4502f7e2039d1a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.62/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.62\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.62.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.8\",\n        sha256 = \"bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.8/download\"],\n        strip_prefix = \"zerovec-0.11.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.6\",\n        sha256 = \"34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.6/download\"],\n        strip_prefix = \"zerovec-derive-0.11.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.8.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.53.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
+                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.10.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.3\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.34\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.54.1\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.8\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.10.0\",\n        sha256 = \"86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.10.0/download\"],\n        strip_prefix = \"cc-1.10.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.10.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.2.0\",\n        sha256 = \"e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.2.0/download\"],\n        strip_prefix = \"defmt-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.2.0\",\n        sha256 = \"840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.2.0/download\"],\n        strip_prefix = \"defmt-macros-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.1.0\",\n        sha256 = \"71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.1.0/download\"],\n        strip_prefix = \"defmt-parser-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.9\",\n        sha256 = \"9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.9/download\"],\n        strip_prefix = \"deranged-0.5.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.3\",\n        sha256 = \"00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.3/download\"],\n        strip_prefix = \"equivalent-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.15\",\n        sha256 = \"1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.15/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.11\",\n        sha256 = \"1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.11/download\"],\n        strip_prefix = \"generator-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.4.0\",\n        sha256 = \"fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.4.0/download\"],\n        strip_prefix = \"icu_collections-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.4.0\",\n        sha256 = \"25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.4.0/download\"],\n        strip_prefix = \"icu_locale_core-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.4.0\",\n        sha256 = \"406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.4.0\",\n        sha256 = \"3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.4.0\",\n        sha256 = \"413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.4.0/download\"],\n        strip_prefix = \"icu_provider-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.4.0\",\n        sha256 = \"61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.4.0\",\n        sha256 = \"913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.38\",\n        sha256 = \"b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.38/download\"],\n        strip_prefix = \"jiff-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.1\",\n        sha256 = \"5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.1/download\"],\n        strip_prefix = \"jiff-core-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.38\",\n        sha256 = \"2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.38/download\"],\n        strip_prefix = \"jiff-static-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.106\",\n        sha256 = \"7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.106/download\"],\n        strip_prefix = \"js-sys-0.3.106\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.106.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.34\",\n        sha256 = \"f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.34/download\"],\n        strip_prefix = \"log-0.4.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.6\",\n        sha256 = \"e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.6/download\"],\n        strip_prefix = \"rustix-1.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.4\",\n        sha256 = \"d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.4/download\"],\n        strip_prefix = \"smallvec-1.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.9\",\n        sha256 = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.9/download\"],\n        strip_prefix = \"syn-3.0.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.5\",\n        sha256 = \"abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.5/download\"],\n        strip_prefix = \"tinystr-0.8.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.54.1\",\n        sha256 = \"b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.54.1/download\"],\n        strip_prefix = \"tokio-1.54.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.54.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.8\",\n        sha256 = \"cd1fa9b1a51188f3266a823208078315811269d06d272c3a61be0b9a194194ff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.8/download\"],\n        strip_prefix = \"tonic-0.14.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.3\",\n        sha256 = \"ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.3/download\"],\n        strip_prefix = \"unicode-width-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.0.4\",\n        sha256 = \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.0.4/download\"],\n        strip_prefix = \"utf8_iter-1.0.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.0.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.29.0\",\n        sha256 = \"4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.29.0/download\"],\n        strip_prefix = \"uuid-1.29.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.29.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.129\",\n        sha256 = \"9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.129\",\n        sha256 = \"2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.129\",\n        sha256 = \"6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.129\",\n        sha256 = \"23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.4\",\n        sha256 = \"417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.4/download\"],\n        strip_prefix = \"yoke-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.63\",\n        sha256 = \"e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.63/download\"],\n        strip_prefix = \"zerocopy-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.63\",\n        sha256 = \"863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.63/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.9\",\n        sha256 = \"f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.9/download\"],\n        strip_prefix = \"zerovec-0.11.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.7\",\n        sha256 = \"c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.7/download\"],\n        strip_prefix = \"zerovec-derive-0.11.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.10.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.54.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
               }
             }
           },
@@ -4038,7 +4411,7 @@
                 "https://static.crates.io/crates/async-trait/0.1.92/download"
               ],
               "strip_prefix": "async-trait-0.1.92",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"async_trait\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=async-trait\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.92\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"async_trait\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=async-trait\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.92\",\n)\n"
             }
           },
           "crate_index__atomic-polyfill-1.0.3": {
@@ -4265,20 +4638,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bytes\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bytes\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.12.1\",\n)\n"
             }
           },
-          "crate_index__cc-1.8.0": {
+          "crate_index__cc-1.10.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "6651c9ed80effdc7db0ff72512157f901af5e3549e341e24b1dd4887d836d838",
+              "sha256": "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/cc/1.8.0/download"
+                "https://static.crates.io/crates/cc/1.10.0/download"
               ],
-              "strip_prefix": "cc-1.8.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cc\",\n    deps = [\n        \"@crate_index__find-msvc-tools-0.1.14//:find_msvc_tools\",\n        \"@crate_index__shlex-2.0.1//:shlex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.8.0\",\n)\n"
+              "strip_prefix": "cc-1.10.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cc\",\n    deps = [\n        \"@crate_index__find-msvc-tools-0.1.15//:find_msvc_tools\",\n        \"@crate_index__shlex-2.0.1//:shlex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.10.0\",\n)\n"
             }
           },
           "crate_index__cdr-0.2.4": {
@@ -4406,7 +4779,7 @@
                 "https://static.crates.io/crates/clap_derive/4.6.7/download"
               ],
               "strip_prefix": "clap_derive-4.6.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"clap_derive\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.6.7\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"clap_derive\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.6.7\",\n)\n"
             }
           },
           "crate_index__clap_lex-1.1.1": {
@@ -4486,7 +4859,7 @@
                 "https://static.crates.io/crates/console/0.15.11/download"
               ],
               "strip_prefix": "console-0.15.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"console\",\n    deps = [\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"ansi-parsing\",\n        \"default\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=console\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.15.11\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"console\",\n    deps = [\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__unicode-width-0.2.3//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"ansi-parsing\",\n        \"default\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=console\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.15.11\",\n)\n"
             }
           },
           "crate_index__console-0.16.6": {
@@ -4502,7 +4875,7 @@
                 "https://static.crates.io/crates/console/0.16.6/download"
               ],
               "strip_prefix": "console-0.16.6",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"console\",\n    deps = [\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"ansi-parsing\",\n        \"default\",\n        \"std\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=console\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.16.6\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"console\",\n    deps = [\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__unicode-width-0.2.3//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"ansi-parsing\",\n        \"default\",\n        \"std\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=console\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.16.6\",\n)\n"
             }
           },
           "crate_index__critical-section-1.2.0": {
@@ -4569,68 +4942,68 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ctrlc\",\n    deps = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__nix-0.31.3//:nix\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__nix-0.31.3//:nix\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__nix-0.31.3//:nix\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__nix-0.31.3//:nix\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"termination\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ctrlc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.5.2\",\n)\n"
             }
           },
-          "crate_index__defmt-1.1.1": {
+          "crate_index__defmt-1.2.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1",
+              "sha256": "e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/defmt/1.1.1/download"
+                "https://static.crates.io/crates/defmt/1.2.0/download"
               ],
-              "strip_prefix": "defmt-1.1.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"defmt\",\n    deps = [\n        \"@crate_index__bitflags-1.3.2//:bitflags\",\n        \"@crate_index__defmt-1.1.1//:build_script_build\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__defmt-macros-1.1.1//:defmt_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"defmt\",\n    pkg_name = \"defmt\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.1.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "defmt-1.2.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"defmt\",\n    deps = [\n        \"@crate_index__bitflags-1.3.2//:bitflags\",\n        \"@crate_index__defmt-1.2.0//:build_script_build\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__defmt-macros-1.2.0//:defmt_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"defmt\",\n    pkg_name = \"defmt\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.2.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__defmt-macros-1.1.1": {
+          "crate_index__defmt-macros-1.2.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8",
+              "sha256": "840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/defmt-macros/1.1.1/download"
+                "https://static.crates.io/crates/defmt-macros/1.2.0/download"
               ],
-              "strip_prefix": "defmt-macros-1.1.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"defmt_macros\",\n    deps = [\n        \"@crate_index__defmt-macros-1.1.1//:build_script_build\",\n        \"@crate_index__defmt-parser-1.0.0//:defmt_parser\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"defmt-macros\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.1.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "defmt-macros-1.2.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"defmt_macros\",\n    deps = [\n        \"@crate_index__defmt-macros-1.2.0//:build_script_build\",\n        \"@crate_index__defmt-parser-1.1.0//:defmt_parser\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"defmt-macros\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.2.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__defmt-parser-1.0.0": {
+          "crate_index__defmt-parser-1.1.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e",
+              "sha256": "71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/defmt-parser/1.0.0/download"
+                "https://static.crates.io/crates/defmt-parser/1.1.0/download"
               ],
-              "strip_prefix": "defmt-parser-1.0.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"defmt_parser\",\n    deps = [\n        \"@crate_index__thiserror-2.0.21//:thiserror\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-parser\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
+              "strip_prefix": "defmt-parser-1.1.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"defmt_parser\",\n    deps = [\n        \"@crate_index__thiserror-2.0.21//:thiserror\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=defmt-parser\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.0\",\n)\n"
             }
           },
-          "crate_index__deranged-0.5.8": {
+          "crate_index__deranged-0.5.9": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c",
+              "sha256": "9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/deranged/0.5.8/download"
+                "https://static.crates.io/crates/deranged/0.5.9/download"
               ],
-              "strip_prefix": "deranged-0.5.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"deranged\",\n    deps = [\n        \"@crate_index__serde_core-1.0.229//:serde_core\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"serde\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=deranged\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.8\",\n)\n"
+              "strip_prefix": "deranged-0.5.9",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"deranged\",\n    deps = [\n        \"@crate_index__serde_core-1.0.229//:serde_core\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"serde\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=deranged\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.9\",\n)\n"
             }
           },
           "crate_index__dispatch2-0.3.1": {
@@ -4662,7 +5035,7 @@
                 "https://static.crates.io/crates/displaydoc/0.2.7/download"
               ],
               "strip_prefix": "displaydoc-0.2.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"displaydoc\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=displaydoc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.7\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"displaydoc\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=displaydoc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.7\",\n)\n"
             }
           },
           "crate_index__downcast-0.11.0": {
@@ -4809,20 +5182,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crate_index__anstream-1.0.0//:anstream\",\n        \"@crate_index__anstyle-1.0.14//:anstyle\",\n        \"@crate_index__env_filter-2.0.0//:env_filter\",\n        \"@crate_index__jiff-0.2.38//:jiff\",\n        \"@crate_index__log-0.4.34//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.11\",\n)\n"
             }
           },
-          "crate_index__equivalent-1.0.2": {
+          "crate_index__equivalent-1.0.3": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f",
+              "sha256": "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/equivalent/1.0.2/download"
+                "https://static.crates.io/crates/equivalent/1.0.3/download"
               ],
-              "strip_prefix": "equivalent-1.0.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"equivalent\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=equivalent\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.2\",\n)\n"
+              "strip_prefix": "equivalent-1.0.3",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"equivalent\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=equivalent\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.3\",\n)\n"
             }
           },
           "crate_index__errno-0.3.14": {
@@ -4873,20 +5246,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"filedesc\",\n    deps = [\n        \"@crate_index__libc-0.2.186//:libc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=filedesc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.6.3\",\n)\n"
             }
           },
-          "crate_index__find-msvc-tools-0.1.14": {
+          "crate_index__find-msvc-tools-0.1.15": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484",
+              "sha256": "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/find-msvc-tools/0.1.14/download"
+                "https://static.crates.io/crates/find-msvc-tools/0.1.15/download"
               ],
-              "strip_prefix": "find-msvc-tools-0.1.14",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"find_msvc_tools\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=find-msvc-tools\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.14\",\n)\n"
+              "strip_prefix": "find-msvc-tools-0.1.15",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"find_msvc_tools\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=find-msvc-tools\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.15\",\n)\n"
             }
           },
           "crate_index__fixedbitset-0.5.7": {
@@ -5062,7 +5435,7 @@
                 "https://static.crates.io/crates/futures-macro/0.3.34/download"
               ],
               "strip_prefix": "futures-macro-0.3.34",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"futures_macro\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=futures-macro\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.34\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"futures_macro\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=futures-macro\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.34\",\n)\n"
             }
           },
           "crate_index__futures-sink-0.3.34": {
@@ -5113,20 +5486,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"futures_util\",\n    deps = [\n        \"@crate_index__futures-channel-0.3.34//:futures_channel\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-io-0.3.34//:futures_io\",\n        \"@crate_index__futures-sink-0.3.34//:futures_sink\",\n        \"@crate_index__futures-task-0.3.34//:futures_task\",\n        \"@crate_index__memchr-2.8.3//:memchr\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__slab-0.4.12//:slab\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__futures-macro-0.3.34//:futures_macro\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"async-await\",\n        \"async-await-macro\",\n        \"channel\",\n        \"futures-channel\",\n        \"futures-io\",\n        \"futures-macro\",\n        \"futures-sink\",\n        \"io\",\n        \"memchr\",\n        \"sink\",\n        \"slab\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=futures-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.34\",\n)\n"
             }
           },
-          "crate_index__generator-0.8.10": {
+          "crate_index__generator-0.8.11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "54ade96dc9003043bce7c035c85a9df5a858bfb2039c5a2e6fdf00f324f6c551",
+              "sha256": "1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/generator/0.8.10/download"
+                "https://static.crates.io/crates/generator/0.8.11/download"
               ],
-              "strip_prefix": "generator-0.8.10",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"generator\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.10//:build_script_build\",\n        \"@crate_index__log-0.4.34//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.10\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__cc-1.8.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"generator\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.10\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "generator-0.8.11",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"generator\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.11//:build_script_build\",\n        \"@crate_index__log-0.4.34//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.11\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"generator\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.11\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__getrandom-0.2.17": {
@@ -5206,7 +5579,7 @@
                 "https://static.crates.io/crates/h2/0.4.20/download"
               ],
               "strip_prefix": "h2-0.4.20",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"h2\",\n    deps = [\n        \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__fnv-1.0.7//:fnv\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-sink-0.3.34//:futures_sink\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__indexmap-2.14.2//:indexmap\",\n        \"@crate_index__slab-0.4.12//:slab\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=h2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.20\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"h2\",\n    deps = [\n        \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__fnv-1.0.7//:fnv\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-sink-0.3.34//:futures_sink\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__indexmap-2.14.2//:indexmap\",\n        \"@crate_index__slab-0.4.12//:slab\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=h2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.20\",\n)\n"
             }
           },
           "crate_index__hash32-0.2.1": {
@@ -5254,7 +5627,7 @@
                 "https://static.crates.io/crates/hashbrown/0.17.1/download"
               ],
               "strip_prefix": "hashbrown-0.17.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hashbrown\",\n    deps = [\n        \"@crate_index__allocator-api2-0.2.21//:allocator_api2\",\n        \"@crate_index__equivalent-1.0.2//:equivalent\",\n        \"@crate_index__foldhash-0.2.0//:foldhash\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"allocator-api2\",\n        \"default\",\n        \"default-hasher\",\n        \"equivalent\",\n        \"inline-more\",\n        \"raw-entry\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hashbrown\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.17.1\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hashbrown\",\n    deps = [\n        \"@crate_index__allocator-api2-0.2.21//:allocator_api2\",\n        \"@crate_index__equivalent-1.0.3//:equivalent\",\n        \"@crate_index__foldhash-0.2.0//:foldhash\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"allocator-api2\",\n        \"default\",\n        \"default-hasher\",\n        \"equivalent\",\n        \"inline-more\",\n        \"raw-entry\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hashbrown\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.17.1\",\n)\n"
             }
           },
           "crate_index__heapless-0.7.17": {
@@ -5430,7 +5803,7 @@
                 "https://static.crates.io/crates/hyper/1.12.0/download"
               ],
               "strip_prefix": "hyper-1.12.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper\",\n    deps = [\n        \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-channel-0.3.34//:futures_channel\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__httparse-1.10.1//:httparse\",\n        \"@crate_index__httpdate-1.0.3//:httpdate\",\n        \"@crate_index__itoa-1.0.18//:itoa\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__smallvec-1.16.3//:smallvec\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__want-0.3.2//:want\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"client\",\n        \"default\",\n        \"http1\",\n        \"http2\",\n        \"server\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.12.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper\",\n    deps = [\n        \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-channel-0.3.34//:futures_channel\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__httparse-1.10.1//:httparse\",\n        \"@crate_index__httpdate-1.0.3//:httpdate\",\n        \"@crate_index__itoa-1.0.18//:itoa\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__smallvec-1.16.4//:smallvec\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__want-0.3.2//:want\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"client\",\n        \"default\",\n        \"http1\",\n        \"http2\",\n        \"server\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.12.0\",\n)\n"
             }
           },
           "crate_index__hyper-timeout-0.5.2": {
@@ -5446,7 +5819,7 @@
                 "https://static.crates.io/crates/hyper-timeout/0.5.2/download"
               ],
               "strip_prefix": "hyper-timeout-0.5.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper_timeout\",\n    deps = [\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper-timeout\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper_timeout\",\n    deps = [\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper-timeout\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.2\",\n)\n"
             }
           },
           "crate_index__hyper-util-0.1.21": {
@@ -5462,7 +5835,7 @@
                 "https://static.crates.io/crates/hyper-util/0.1.21/download"
               ],
               "strip_prefix": "hyper-util-0.1.21",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper_util\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-channel-0.3.34//:futures_channel\",\n        \"@crate_index__futures-util-0.3.34//:futures_util\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__httparse-1.10.1//:httparse\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"client\",\n        \"client-legacy\",\n        \"default\",\n        \"http1\",\n        \"http2\",\n        \"server\",\n        \"server-auto\",\n        \"service\",\n        \"tokio\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.21\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hyper_util\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-channel-0.3.34//:futures_channel\",\n        \"@crate_index__futures-util-0.3.34//:futures_util\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__httparse-1.10.1//:httparse\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"client\",\n        \"client-legacy\",\n        \"default\",\n        \"http1\",\n        \"http2\",\n        \"server\",\n        \"server-auto\",\n        \"service\",\n        \"tokio\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hyper-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.21\",\n)\n"
             }
           },
           "crate_index__iceoryx2-0.5.0": {
@@ -5878,7 +6251,7 @@
               "patches": [],
               "shallow_since": "",
               "remote": "https://github.com/qorix-group/iceoryx2.git",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_os_api_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.8.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_os_api_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
               "strip_prefix": "iceoryx2-pal/os-api",
               "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502"
             }
@@ -5896,7 +6269,7 @@
                 "https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download"
               ],
               "strip_prefix": "iceoryx2-pal-posix-0.5.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n        \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:bindgen\",\n        \"@crate_index__cc-1.8.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.5.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n        \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.5.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__iceoryx2-pal-posix-qnx8-0.7.0": {
@@ -5910,7 +6283,7 @@
               ],
               "shallow_since": "",
               "remote": "https://github.com/qorix-group/iceoryx2.git",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.8.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
               "strip_prefix": "iceoryx2-pal/posix",
               "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502"
             }
@@ -5943,116 +6316,116 @@
               "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502"
             }
           },
-          "crate_index__icu_collections-2.3.0": {
+          "crate_index__icu_collections-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513",
+              "sha256": "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_collections/2.3.0/download"
+                "https://static.crates.io/crates/icu_collections/2.4.0/download"
               ],
-              "strip_prefix": "icu_collections-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_collections\",\n    deps = [\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__yoke-0.8.3//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_collections\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n"
+              "strip_prefix": "icu_collections-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_collections\",\n    deps = [\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_collections\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crate_index__icu_locale_core-2.3.0": {
+          "crate_index__icu_locale_core-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb",
+              "sha256": "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_locale_core/2.3.0/download"
+                "https://static.crates.io/crates/icu_locale_core/2.4.0/download"
               ],
-              "strip_prefix": "icu_locale_core-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_core\",\n    deps = [\n        \"@crate_index__litemap-0.8.3//:litemap\",\n        \"@crate_index__tinystr-0.8.4//:tinystr\",\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n"
+              "strip_prefix": "icu_locale_core-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_core\",\n    deps = [\n        \"@crate_index__litemap-0.8.3//:litemap\",\n        \"@crate_index__tinystr-0.8.5//:tinystr\",\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crate_index__icu_locale_fallback-2.3.0": {
+          "crate_index__icu_locale_fallback-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9",
+              "sha256": "406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_locale_fallback/2.3.0/download"
+                "https://static.crates.io/crates/icu_locale_fallback/2.4.0/download"
               ],
-              "strip_prefix": "icu_locale_fallback-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_fallback\",\n    deps = [\n        \"@crate_index__icu_locale_core-2.3.0//:icu_locale_core\",\n        \"@crate_index__icu_locale_fallback_data-2.3.0//:icu_locale_fallback_data\",\n        \"@crate_index__icu_provider-2.3.1//:icu_provider\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__tinystr-0.8.4//:tinystr\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n"
+              "strip_prefix": "icu_locale_fallback-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_fallback\",\n    deps = [\n        \"@crate_index__icu_locale_core-2.4.0//:icu_locale_core\",\n        \"@crate_index__icu_locale_fallback_data-2.4.0//:icu_locale_fallback_data\",\n        \"@crate_index__icu_provider-2.4.0//:icu_provider\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__tinystr-0.8.5//:tinystr\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crate_index__icu_locale_fallback_data-2.3.0": {
+          "crate_index__icu_locale_fallback_data-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8",
+              "sha256": "3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_locale_fallback_data/2.3.0/download"
+                "https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download"
               ],
-              "strip_prefix": "icu_locale_fallback_data-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_fallback_data\",\n    deps = [\n        \"@crate_index__icu_locale_fallback_data-2.3.0//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2024\",\n    pkg_name = \"icu_locale_fallback_data\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"2.3.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "icu_locale_fallback_data-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_locale_fallback_data\",\n    deps = [\n        \"@crate_index__icu_locale_fallback_data-2.4.0//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2024\",\n    pkg_name = \"icu_locale_fallback_data\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_locale_fallback_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"2.4.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__icu_provider-2.3.1": {
+          "crate_index__icu_provider-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73",
+              "sha256": "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_provider/2.3.1/download"
+                "https://static.crates.io/crates/icu_provider/2.4.0/download"
               ],
-              "strip_prefix": "icu_provider-2.3.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_provider\",\n    deps = [\n        \"@crate_index__icu_locale_core-2.3.0//:icu_locale_core\",\n        \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__yoke-0.8.3//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerotrie-0.2.5//:zerotrie\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"baked\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_provider\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.1\",\n)\n"
+              "strip_prefix": "icu_provider-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_provider\",\n    deps = [\n        \"@crate_index__icu_locale_core-2.4.0//:icu_locale_core\",\n        \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerotrie-0.2.5//:zerotrie\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"baked\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_provider\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crate_index__icu_segmenter-2.3.0": {
+          "crate_index__icu_segmenter-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "82d07aafccd67af15d02512a6adf5896fbc5ed00f2e99b471d2efa14016db3db",
+              "sha256": "61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_segmenter/2.3.0/download"
+                "https://static.crates.io/crates/icu_segmenter/2.4.0/download"
               ],
-              "strip_prefix": "icu_segmenter-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter\",\n    deps = [\n        \"@crate_index__icu_collections-2.3.0//:icu_collections\",\n        \"@crate_index__icu_locale_fallback-2.3.0//:icu_locale_fallback\",\n        \"@crate_index__icu_provider-2.3.1//:icu_provider\",\n        \"@crate_index__icu_segmenter_data-2.3.0//:icu_segmenter_data\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__smallvec-1.16.3//:smallvec\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n"
+              "strip_prefix": "icu_segmenter-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter\",\n    deps = [\n        \"@crate_index__icu_collections-2.4.0//:icu_collections\",\n        \"@crate_index__icu_locale_fallback-2.4.0//:icu_locale_fallback\",\n        \"@crate_index__icu_provider-2.4.0//:icu_provider\",\n        \"@crate_index__icu_segmenter_data-2.4.0//:icu_segmenter_data\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__smallvec-1.16.4//:smallvec\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__zerotrie-0.2.5//:zerotrie\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crate_index__icu_segmenter_data-2.3.0": {
+          "crate_index__icu_segmenter_data-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "ae293c039020f9ec10710af98d29ce6aa2051486638b49c9a6409f3b4a9e98ad",
+              "sha256": "913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/icu_segmenter_data/2.3.0/download"
+                "https://static.crates.io/crates/icu_segmenter_data/2.4.0/download"
               ],
-              "strip_prefix": "icu_segmenter_data-2.3.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter_data\",\n    deps = [\n        \"@crate_index__icu_segmenter_data-2.3.0//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.3.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2024\",\n    pkg_name = \"icu_segmenter_data\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"2.3.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "icu_segmenter_data-2.4.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter_data\",\n    deps = [\n        \"@crate_index__icu_segmenter_data-2.4.0//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2024\",\n    pkg_name = \"icu_segmenter_data\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter_data\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"2.4.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__indexmap-2.14.2": {
@@ -6068,7 +6441,7 @@
                 "https://static.crates.io/crates/indexmap/2.14.2/download"
               ],
               "strip_prefix": "indexmap-2.14.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indexmap\",\n    deps = [\n        \"@crate_index__equivalent-1.0.2//:equivalent\",\n        \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indexmap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.14.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indexmap\",\n    deps = [\n        \"@crate_index__equivalent-1.0.3//:equivalent\",\n        \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indexmap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.14.2\",\n)\n"
             }
           },
           "crate_index__indicatif-0.18.6": {
@@ -6084,7 +6457,7 @@
                 "https://static.crates.io/crates/indicatif/0.18.6/download"
               ],
               "strip_prefix": "indicatif-0.18.6",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indicatif\",\n    deps = [\n        \"@crate_index__console-0.16.6//:console\",\n        \"@crate_index__portable-atomic-1.15.0//:portable_atomic\",\n        \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n        \"@crate_index__unit-prefix-0.5.2//:unit_prefix\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"unicode-width\",\n        \"wasmbind\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indicatif\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.18.6\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indicatif\",\n    deps = [\n        \"@crate_index__console-0.16.6//:console\",\n        \"@crate_index__portable-atomic-1.15.0//:portable_atomic\",\n        \"@crate_index__unicode-width-0.2.3//:unicode_width\",\n        \"@crate_index__unit-prefix-0.5.2//:unit_prefix\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"unicode-width\",\n        \"wasmbind\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indicatif\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.18.6\",\n)\n"
             }
           },
           "crate_index__indicatif-log-bridge-0.2.3": {
@@ -6116,7 +6489,7 @@
                 "https://static.crates.io/crates/ipc-channel/0.20.2/download"
               ],
               "strip_prefix": "ipc-channel-0.20.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ipc_channel\",\n    deps = [\n        \"@crate_index__bincode-1.3.3//:bincode\",\n        \"@crate_index__crossbeam-channel-0.5.17//:crossbeam_channel\",\n        \"@crate_index__fnv-1.0.7//:fnv\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__uuid-1.28.0//:uuid\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__mio-1.2.4//:mio\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n            \"@crate_index__tempfile-3.27.0//:tempfile\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__mio-1.2.4//:mio\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n            \"@crate_index__tempfile-3.27.0//:tempfile\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ipc-channel\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.20.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ipc_channel\",\n    deps = [\n        \"@crate_index__bincode-1.3.3//:bincode\",\n        \"@crate_index__crossbeam-channel-0.5.17//:crossbeam_channel\",\n        \"@crate_index__fnv-1.0.7//:fnv\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__uuid-1.29.0//:uuid\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__mio-1.2.4//:mio\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n            \"@crate_index__tempfile-3.27.0//:tempfile\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__mio-1.2.4//:mio\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n            \"@crate_index__tempfile-3.27.0//:tempfile\",  # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ipc-channel\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.20.2\",\n)\n"
             }
           },
           "crate_index__is_terminal_polyfill-1.70.2": {
@@ -6420,7 +6793,7 @@
                 "https://static.crates.io/crates/loom/0.7.2/download"
               ],
               "strip_prefix": "loom-0.7.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"loom\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.10//:generator\",\n        \"@crate_index__scoped-tls-1.0.1//:scoped_tls\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__serde_json-1.0.154//:serde_json\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n        \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"checkpoint\",\n        \"default\",\n        \"serde\",\n        \"serde_json\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=loom\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"loom\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.11//:generator\",\n        \"@crate_index__scoped-tls-1.0.1//:scoped_tls\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__serde_json-1.0.154//:serde_json\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n        \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"checkpoint\",\n        \"default\",\n        \"serde\",\n        \"serde_json\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=loom\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.2\",\n)\n"
             }
           },
           "crate_index__matchers-0.2.0": {
@@ -6964,7 +7337,7 @@
                 "https://static.crates.io/crates/potential_utf/0.1.6/download"
               ],
               "strip_prefix": "potential_utf-0.1.6",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"potential_utf\",\n    deps = [\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"writeable\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=potential_utf\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.6\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"potential_utf\",\n    deps = [\n        \"@crate_index__writeable-0.6.4//:writeable\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"writeable\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=potential_utf\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.6\",\n)\n"
             }
           },
           "crate_index__powerfmt-0.2.1": {
@@ -6996,7 +7369,7 @@
                 "https://static.crates.io/crates/ppv-lite86/0.2.21/download"
               ],
               "strip_prefix": "ppv-lite86-0.2.21",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ppv_lite86\",\n    deps = [\n        \"@crate_index__zerocopy-0.8.62//:zerocopy\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ppv-lite86\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.21\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ppv_lite86\",\n    deps = [\n        \"@crate_index__zerocopy-0.8.63//:zerocopy\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ppv-lite86\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.21\",\n)\n"
             }
           },
           "crate_index__predicates-3.1.4": {
@@ -7076,7 +7449,7 @@
                 "https://static.crates.io/crates/proc-macro2/1.0.107/download"
               ],
               "strip_prefix": "proc-macro2-1.0.107",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"proc_macro2\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:build_script_build\",\n        \"@crate_index__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.107\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"proc-macro2\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.107\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"proc_macro2\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:build_script_build\",\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.107\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"proc-macro2\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.107\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__proc-macro2-diagnostics-0.10.1": {
@@ -7463,20 +7836,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"rustix\",\n    deps = [\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__rustix-0.38.44//:build_script_build\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.4.15//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.4.15//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"//conditions:default\": [],\n    }),\n    aliases = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"//conditions:default\": {},\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"fs\",\n        \"libc-extra-traits\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.38.44\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"fs\",\n        \"libc-extra-traits\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"rustix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.38.44\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__rustix-1.1.5": {
+          "crate_index__rustix-1.1.6": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d",
+              "sha256": "e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/rustix/1.1.5/download"
+                "https://static.crates.io/crates/rustix/1.1.6/download"
               ],
-              "strip_prefix": "rustix-1.1.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"rustix\",\n    deps = [\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__rustix-1.1.5//:build_script_build\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"//conditions:default\": [],\n    }),\n    aliases = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n        },\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"//conditions:default\": {},\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"fs\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.5\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"fs\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"rustix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.1.5\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "rustix-1.1.6",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"rustix\",\n    deps = [\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__rustix-1.1.6//:build_script_build\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\",  # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n            \"@crate_index__errno-0.3.14//:errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        ],\n        \"//conditions:default\": [],\n    }),\n    aliases = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n        },\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n            \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n        },\n        \"//conditions:default\": {},\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"fs\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.6\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"fs\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"rustix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.1.6\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__rustversion-1.0.23": {
@@ -7604,7 +7977,7 @@
                 "https://static.crates.io/crates/serde_derive/1.0.229/download"
               ],
               "strip_prefix": "serde_derive-1.0.229",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"serde_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"serde_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n"
             }
           },
           "crate_index__serde_json-1.0.154": {
@@ -7751,20 +8124,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"slab\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=slab\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.12\",\n)\n"
             }
           },
-          "crate_index__smallvec-1.16.3": {
+          "crate_index__smallvec-1.16.4": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b",
+              "sha256": "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/smallvec/1.16.3/download"
+                "https://static.crates.io/crates/smallvec/1.16.4/download"
               ],
-              "strip_prefix": "smallvec-1.16.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"smallvec\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"const_generics\",\n        \"const_new\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=smallvec\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.16.3\",\n)\n"
+              "strip_prefix": "smallvec-1.16.4",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"smallvec\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"const_generics\",\n        \"const_new\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=smallvec\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.16.4\",\n)\n"
             }
           },
           "crate_index__smawk-0.3.3": {
@@ -7876,23 +8249,23 @@
                 "https://static.crates.io/crates/syn/2.0.119/download"
               ],
               "strip_prefix": "syn-2.0.119",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"extra-traits\",  # aarch64-unknown-linux-gnu\n            \"visit\",  # aarch64-unknown-linux-gnu\n            \"visit-mut\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"extra-traits\",  # x86_64-unknown-linux-gnu\n            \"visit\",  # x86_64-unknown-linux-gnu\n            \"visit-mut\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.119\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"extra-traits\",  # aarch64-unknown-linux-gnu\n            \"visit\",  # aarch64-unknown-linux-gnu\n            \"visit-mut\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"extra-traits\",  # x86_64-unknown-linux-gnu\n            \"visit\",  # x86_64-unknown-linux-gnu\n            \"visit-mut\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.119\",\n)\n"
             }
           },
-          "crate_index__syn-3.0.8": {
+          "crate_index__syn-3.0.9": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "01016da373cd8f7ef12624f796309f5c31ba8d646dd08856c02cd741d823c622",
+              "sha256": "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/syn/3.0.8/download"
+                "https://static.crates.io/crates/syn/3.0.9/download"
               ],
-              "strip_prefix": "syn-3.0.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"extra-traits\",\n        \"fold\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n        \"visit\",\n        \"visit-mut\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.8\",\n)\n"
+              "strip_prefix": "syn-3.0.9",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"extra-traits\",\n        \"fold\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n        \"visit\",\n        \"visit-mut\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.9\",\n)\n"
             }
           },
           "crate_index__sync_wrapper-1.0.2": {
@@ -7924,7 +8297,7 @@
                 "https://static.crates.io/crates/synstructure/0.14.0/download"
               ],
               "strip_prefix": "synstructure-0.14.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"synstructure\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=synstructure\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"synstructure\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=synstructure\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.0\",\n)\n"
             }
           },
           "crate_index__tempfile-3.27.0": {
@@ -7940,7 +8313,7 @@
                 "https://static.crates.io/crates/tempfile/3.27.0/download"
               ],
               "strip_prefix": "tempfile-3.27.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tempfile\",\n    deps = [\n        \"@crate_index__fastrand-2.5.0//:fastrand\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # aarch64-unknown-linux-gnu\n            \"@crate_index__rustix-1.1.5//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # aarch64-unknown-nto-qnx710\n            \"@crate_index__rustix-1.1.5//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # x86_64-pc-nto-qnx710\n            \"@crate_index__rustix-1.1.5//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # x86_64-unknown-linux-gnu\n            \"@crate_index__rustix-1.1.5//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"getrandom\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tempfile\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.27.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tempfile\",\n    deps = [\n        \"@crate_index__fastrand-2.5.0//:fastrand\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # aarch64-unknown-linux-gnu\n            \"@crate_index__rustix-1.1.6//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # aarch64-unknown-nto-qnx710\n            \"@crate_index__rustix-1.1.6//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # x86_64-pc-nto-qnx710\n            \"@crate_index__rustix-1.1.6//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__getrandom-0.4.3//:getrandom\",  # x86_64-unknown-linux-gnu\n            \"@crate_index__rustix-1.1.6//:rustix\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"getrandom\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tempfile\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.27.0\",\n)\n"
             }
           },
           "crate_index__termsize-0.1.9": {
@@ -7988,7 +8361,7 @@
                 "https://static.crates.io/crates/textwrap/0.16.4/download"
               ],
               "strip_prefix": "textwrap-0.16.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"textwrap\",\n    deps = [\n        \"@crate_index__icu_segmenter-2.3.0//:icu_segmenter\",\n        \"@crate_index__smawk-0.3.3//:smawk\",\n        \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"icu_segmenter\",\n        \"smawk\",\n        \"std\",\n        \"unicode-linebreak\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=textwrap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.16.4\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"textwrap\",\n    deps = [\n        \"@crate_index__icu_segmenter-2.4.0//:icu_segmenter\",\n        \"@crate_index__smawk-0.3.3//:smawk\",\n        \"@crate_index__unicode-width-0.2.3//:unicode_width\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"icu_segmenter\",\n        \"smawk\",\n        \"std\",\n        \"unicode-linebreak\",\n        \"unicode-width\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=textwrap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.16.4\",\n)\n"
             }
           },
           "crate_index__thiserror-2.0.21": {
@@ -8020,7 +8393,7 @@
                 "https://static.crates.io/crates/thiserror-impl/2.0.21/download"
               ],
               "strip_prefix": "thiserror-impl-2.0.21",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"thiserror_impl\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror-impl\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.21\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"thiserror_impl\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror-impl\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.21\",\n)\n"
             }
           },
           "crate_index__thread_local-1.1.10": {
@@ -8052,7 +8425,7 @@
                 "https://static.crates.io/crates/time/0.3.55/download"
               ],
               "strip_prefix": "time-0.3.55",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"time\",\n    deps = [\n        \"@crate_index__deranged-0.5.8//:deranged\",\n        \"@crate_index__num-conv-0.2.2//:num_conv\",\n        \"@crate_index__powerfmt-0.2.1//:powerfmt\",\n        \"@crate_index__serde_core-1.0.229//:serde_core\",\n        \"@crate_index__time-core-0.1.9//:time_core\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__time-macros-0.2.32//:time_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"formatting\",\n        \"macros\",\n        \"serde\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=time\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.55\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"time\",\n    deps = [\n        \"@crate_index__deranged-0.5.9//:deranged\",\n        \"@crate_index__num-conv-0.2.2//:num_conv\",\n        \"@crate_index__powerfmt-0.2.1//:powerfmt\",\n        \"@crate_index__serde_core-1.0.229//:serde_core\",\n        \"@crate_index__time-core-0.1.9//:time_core\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__time-macros-0.2.32//:time_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"formatting\",\n        \"macros\",\n        \"serde\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=time\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.55\",\n)\n"
             }
           },
           "crate_index__time-core-0.1.9": {
@@ -8119,36 +8492,36 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tinyjson\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tinyjson\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.5.1\",\n)\n"
             }
           },
-          "crate_index__tinystr-0.8.4": {
+          "crate_index__tinystr-0.8.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643",
+              "sha256": "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/tinystr/0.8.4/download"
+                "https://static.crates.io/crates/tinystr/0.8.5/download"
               ],
-              "strip_prefix": "tinystr-0.8.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tinystr\",\n    deps = [\n        \"@crate_index__zerovec-0.11.8//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tinystr\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.4\",\n)\n"
+              "strip_prefix": "tinystr-0.8.5",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tinystr\",\n    deps = [\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"zerovec\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tinystr\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.5\",\n)\n"
             }
           },
-          "crate_index__tokio-1.53.2": {
+          "crate_index__tokio-1.54.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044",
+              "sha256": "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/tokio/1.53.2/download"
+                "https://static.crates.io/crates/tokio/1.54.1/download"
               ],
-              "strip_prefix": "tokio-1.53.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__mio-1.2.4//:mio\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-linux-gnu\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # aarch64-unknown-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-pc-nto-qnx710\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-unknown-linux-gnu\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    proc_macro_deps = [\n        \"@crate_index__tokio-macros-2.7.2//:tokio_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"bytes\",\n        \"default\",\n        \"io-util\",\n        \"libc\",\n        \"macros\",\n        \"mio\",\n        \"net\",\n        \"rt\",\n        \"rt-multi-thread\",\n        \"signal\",\n        \"signal-hook-registry\",\n        \"socket2\",\n        \"sync\",\n        \"time\",\n        \"tokio-macros\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.53.2\",\n)\n"
+              "strip_prefix": "tokio-1.54.1",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__mio-1.2.4//:mio\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-linux-gnu\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # aarch64-unknown-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-pc-nto-qnx710\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-unknown-linux-gnu\n            \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    proc_macro_deps = [\n        \"@crate_index__tokio-macros-2.7.2//:tokio_macros\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"bytes\",\n        \"default\",\n        \"io-util\",\n        \"libc\",\n        \"macros\",\n        \"mio\",\n        \"net\",\n        \"rt\",\n        \"rt-multi-thread\",\n        \"signal\",\n        \"signal-hook-registry\",\n        \"socket2\",\n        \"sync\",\n        \"time\",\n        \"tokio-macros\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.54.1\",\n)\n"
             }
           },
           "crate_index__tokio-macros-2.7.2": {
@@ -8164,7 +8537,7 @@
                 "https://static.crates.io/crates/tokio-macros/2.7.2/download"
               ],
               "strip_prefix": "tokio-macros-2.7.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"tokio_macros\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.7.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"tokio_macros\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-macros\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.7.2\",\n)\n"
             }
           },
           "crate_index__tokio-seqpacket-0.8.2": {
@@ -8180,7 +8553,7 @@
                 "https://static.crates.io/crates/tokio-seqpacket/0.8.2/download"
               ],
               "strip_prefix": "tokio-seqpacket-0.8.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_seqpacket\",\n    deps = [\n        \"@crate_index__filedesc-0.6.3//:filedesc\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-seqpacket\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_seqpacket\",\n    deps = [\n        \"@crate_index__filedesc-0.6.3//:filedesc\",\n        \"@crate_index__libc-0.2.186//:libc\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-seqpacket\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.2\",\n)\n"
             }
           },
           "crate_index__tokio-stream-0.1.19": {
@@ -8196,7 +8569,7 @@
                 "https://static.crates.io/crates/tokio-stream/0.1.19/download"
               ],
               "strip_prefix": "tokio-stream-0.1.19",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_stream\",\n    deps = [\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"net\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-stream\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.19\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_stream\",\n    deps = [\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"net\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-stream\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.19\",\n)\n"
             }
           },
           "crate_index__tokio-util-0.7.20": {
@@ -8212,7 +8585,7 @@
                 "https://static.crates.io/crates/tokio-util/0.7.20/download"
               ],
               "strip_prefix": "tokio-util-0.7.20",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_util\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-sink-0.3.34//:futures_sink\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"codec\",\n        \"default\",\n        \"io\",\n        \"libc\",\n        \"net\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.20\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tokio_util\",\n    deps = [\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-sink-0.3.34//:futures_sink\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # aarch64-unknown-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-pc-nto-qnx710\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"codec\",\n        \"default\",\n        \"io\",\n        \"libc\",\n        \"net\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tokio-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.20\",\n)\n"
             }
           },
           "crate_index__toml-0.8.23": {
@@ -8279,20 +8652,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"toml_write\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=toml_write\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.2\",\n)\n"
             }
           },
-          "crate_index__tonic-0.14.6": {
+          "crate_index__tonic-0.14.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef",
+              "sha256": "cd1fa9b1a51188f3266a823208078315811269d06d272c3a61be0b9a194194ff",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/tonic/0.14.6/download"
+                "https://static.crates.io/crates/tonic/0.14.8/download"
               ],
-              "strip_prefix": "tonic-0.14.6",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tonic\",\n    deps = [\n        \"@crate_index__axum-0.8.9//:axum\",\n        \"@crate_index__base64-0.22.1//:base64\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__http-body-util-0.1.5//:http_body_util\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n        \"@crate_index__pin-project-1.1.13//:pin_project\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__tokio-stream-0.1.19//:tokio_stream\",\n        \"@crate_index__tower-0.5.3//:tower\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__async-trait-0.1.92//:async_trait\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"channel\",\n        \"codegen\",\n        \"default\",\n        \"router\",\n        \"server\",\n        \"transport\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tonic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.6\",\n)\n"
+              "strip_prefix": "tonic-0.14.8",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tonic\",\n    deps = [\n        \"@crate_index__axum-0.8.9//:axum\",\n        \"@crate_index__base64-0.22.1//:base64\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__http-body-util-0.1.5//:http_body_util\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n        \"@crate_index__pin-project-1.1.13//:pin_project\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tokio-stream-0.1.19//:tokio_stream\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tower-0.5.3//:tower\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__async-trait-0.1.92//:async_trait\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"channel\",\n        \"codegen\",\n        \"default\",\n        \"h2\",\n        \"router\",\n        \"server\",\n        \"transport\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tonic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.8\",\n)\n"
             }
           },
           "crate_index__tonic-build-0.12.3": {
@@ -8324,7 +8697,7 @@
                 "https://static.crates.io/crates/tower/0.5.3/download"
               ],
               "strip_prefix": "tower-0.5.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tower\",\n    deps = [\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-util-0.3.34//:futures_util\",\n        \"@crate_index__indexmap-2.14.2//:indexmap\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__slab-0.4.12//:slab\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.53.2//:tokio\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"balance\",\n        \"buffer\",\n        \"discover\",\n        \"futures-core\",\n        \"futures-util\",\n        \"indexmap\",\n        \"limit\",\n        \"load\",\n        \"load-shed\",\n        \"make\",\n        \"pin-project-lite\",\n        \"ready-cache\",\n        \"slab\",\n        \"sync_wrapper\",\n        \"tokio\",\n        \"tokio-util\",\n        \"tracing\",\n        \"util\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tower\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.3\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tower\",\n    deps = [\n        \"@crate_index__futures-core-0.3.34//:futures_core\",\n        \"@crate_index__futures-util-0.3.34//:futures_util\",\n        \"@crate_index__indexmap-2.14.2//:indexmap\",\n        \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n        \"@crate_index__slab-0.4.12//:slab\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"balance\",\n        \"buffer\",\n        \"discover\",\n        \"futures-core\",\n        \"futures-util\",\n        \"indexmap\",\n        \"limit\",\n        \"load\",\n        \"load-shed\",\n        \"make\",\n        \"pin-project-lite\",\n        \"ready-cache\",\n        \"slab\",\n        \"sync_wrapper\",\n        \"tokio\",\n        \"tokio-util\",\n        \"tracing\",\n        \"util\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tower\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.3\",\n)\n"
             }
           },
           "crate_index__tower-layer-0.3.3": {
@@ -8452,7 +8825,7 @@
                 "https://static.crates.io/crates/tracing-subscriber/0.3.23/download"
               ],
               "strip_prefix": "tracing-subscriber-0.3.23",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tracing_subscriber\",\n    deps = [\n        \"@crate_index__matchers-0.2.0//:matchers\",\n        \"@crate_index__nu-ansi-term-0.50.3//:nu_ansi_term\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__regex-automata-0.4.18//:regex_automata\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__serde_json-1.0.154//:serde_json\",\n        \"@crate_index__sharded-slab-0.1.7//:sharded_slab\",\n        \"@crate_index__smallvec-1.16.3//:smallvec\",\n        \"@crate_index__thread_local-1.1.10//:thread_local\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n        \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n        \"@crate_index__tracing-log-0.2.0//:tracing_log\",\n        \"@crate_index__tracing-serde-0.2.0//:tracing_serde\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"ansi\",\n        \"default\",\n        \"env-filter\",\n        \"fmt\",\n        \"json\",\n        \"matchers\",\n        \"nu-ansi-term\",\n        \"once_cell\",\n        \"registry\",\n        \"serde\",\n        \"serde_json\",\n        \"sharded-slab\",\n        \"smallvec\",\n        \"std\",\n        \"thread_local\",\n        \"tracing\",\n        \"tracing-log\",\n        \"tracing-serde\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tracing-subscriber\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.23\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tracing_subscriber\",\n    deps = [\n        \"@crate_index__matchers-0.2.0//:matchers\",\n        \"@crate_index__nu-ansi-term-0.50.3//:nu_ansi_term\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__regex-automata-0.4.18//:regex_automata\",\n        \"@crate_index__serde-1.0.229//:serde\",\n        \"@crate_index__serde_json-1.0.154//:serde_json\",\n        \"@crate_index__sharded-slab-0.1.7//:sharded_slab\",\n        \"@crate_index__smallvec-1.16.4//:smallvec\",\n        \"@crate_index__thread_local-1.1.10//:thread_local\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n        \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n        \"@crate_index__tracing-log-0.2.0//:tracing_log\",\n        \"@crate_index__tracing-serde-0.2.0//:tracing_serde\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"ansi\",\n        \"default\",\n        \"env-filter\",\n        \"fmt\",\n        \"json\",\n        \"matchers\",\n        \"nu-ansi-term\",\n        \"once_cell\",\n        \"registry\",\n        \"serde\",\n        \"serde_json\",\n        \"sharded-slab\",\n        \"smallvec\",\n        \"std\",\n        \"thread_local\",\n        \"tracing\",\n        \"tracing-log\",\n        \"tracing-serde\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tracing-subscriber\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.23\",\n)\n"
             }
           },
           "crate_index__try-lock-0.2.5": {
@@ -8471,36 +8844,36 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"try_lock\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=try-lock\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.5\",\n)\n"
             }
           },
-          "crate_index__unicode-ident-1.0.26": {
+          "crate_index__unicode-ident-1.0.27": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954",
+              "sha256": "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/unicode-ident/1.0.26/download"
+                "https://static.crates.io/crates/unicode-ident/1.0.27/download"
               ],
-              "strip_prefix": "unicode-ident-1.0.26",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_ident\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-ident\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.26\",\n)\n"
+              "strip_prefix": "unicode-ident-1.0.27",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_ident\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-ident\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.27\",\n)\n"
             }
           },
-          "crate_index__unicode-width-0.2.2": {
+          "crate_index__unicode-width-0.2.3": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254",
+              "sha256": "ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/unicode-width/0.2.2/download"
+                "https://static.crates.io/crates/unicode-width/0.2.3/download"
               ],
-              "strip_prefix": "unicode-width-0.2.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_width\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"cjk\",\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-width\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.2\",\n)\n"
+              "strip_prefix": "unicode-width-0.2.3",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_width\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"cjk\",\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-width\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.3\",\n)\n"
             }
           },
           "crate_index__unit-prefix-0.5.2": {
@@ -8551,20 +8924,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf8parse\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf8parse\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.2\",\n)\n"
             }
           },
-          "crate_index__uuid-1.28.0": {
+          "crate_index__uuid-1.29.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "7cc1186384beb7dd8eedea376413fd654937285ea6c9cfbb928dc3043ea4b606",
+              "sha256": "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/uuid/1.28.0/download"
+                "https://static.crates.io/crates/uuid/1.29.0/download"
               ],
-              "strip_prefix": "uuid-1.28.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"uuid\",\n    deps = [\n        \"@crate_index__getrandom-0.4.3//:getrandom\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"rng\",\n        \"std\",\n        \"v4\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=uuid\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.28.0\",\n)\n"
+              "strip_prefix": "uuid-1.29.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"uuid\",\n    deps = [\n        \"@crate_index__getrandom-0.4.3//:getrandom\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"rng\",\n        \"std\",\n        \"v4\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=uuid\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.29.0\",\n)\n"
             }
           },
           "crate_index__valuable-0.1.1": {
@@ -8692,7 +9065,7 @@
                 "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.129/download"
               ],
               "strip_prefix": "wasm-bindgen-macro-support-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_macro_support\",\n    deps = [\n        \"@crate_index__bumpalo-3.20.3//:bumpalo\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:wasm_bindgen_shared\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro-support\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_macro_support\",\n    deps = [\n        \"@crate_index__bumpalo-3.20.3//:bumpalo\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:wasm_bindgen_shared\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro-support\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n"
             }
           },
           "crate_index__wasm-bindgen-shared-0.2.129": {
@@ -8708,7 +9081,7 @@
                 "https://static.crates.io/crates/wasm-bindgen-shared/0.2.129/download"
               ],
               "strip_prefix": "wasm-bindgen-shared-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_shared\",\n    deps = [\n        \"@crate_index__unicode-ident-1.0.26//:unicode_ident\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"wasm_bindgen\",\n    pkg_name = \"wasm-bindgen-shared\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.129\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_shared\",\n    deps = [\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"wasm_bindgen\",\n    pkg_name = \"wasm-bindgen-shared\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.129\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__web-time-1.1.0": {
@@ -9383,20 +9756,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"yansi\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=yansi\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.1\",\n)\n"
             }
           },
-          "crate_index__yoke-0.8.3": {
+          "crate_index__yoke-0.8.4": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5",
+              "sha256": "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/yoke/0.8.3/download"
+                "https://static.crates.io/crates/yoke/0.8.4/download"
               ],
-              "strip_prefix": "yoke-0.8.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"yoke\",\n    deps = [\n        \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__yoke-derive-0.8.4//:yoke_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"derive\",\n        \"zerofrom\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=yoke\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.3\",\n)\n"
+              "strip_prefix": "yoke-0.8.4",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"yoke\",\n    deps = [\n        \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__yoke-derive-0.8.4//:yoke_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"derive\",\n        \"zerofrom\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=yoke\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.4\",\n)\n"
             }
           },
           "crate_index__yoke-derive-0.8.4": {
@@ -9412,39 +9785,39 @@
                 "https://static.crates.io/crates/yoke-derive/0.8.4/download"
               ],
               "strip_prefix": "yoke-derive-0.8.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"yoke_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n        \"@crate_index__synstructure-0.14.0//:synstructure\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=yoke-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.4\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"yoke_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n        \"@crate_index__synstructure-0.14.0//:synstructure\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=yoke-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.4\",\n)\n"
             }
           },
-          "crate_index__zerocopy-0.8.62": {
+          "crate_index__zerocopy-0.8.63": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "86502bf56ac7c77571a32e2647bb2a15894565e981fb2a48d7bde2d91c965a9d",
+              "sha256": "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/zerocopy/0.8.62/download"
+                "https://static.crates.io/crates/zerocopy/0.8.63/download"
               ],
-              "strip_prefix": "zerocopy-0.8.62",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerocopy\",\n    deps = [\n        \"@crate_index__zerocopy-0.8.62//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.62\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zerocopy\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.62\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "zerocopy-0.8.63",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerocopy\",\n    deps = [\n        \"@crate_index__zerocopy-0.8.63//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.63\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"simd\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zerocopy\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.63\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__zerocopy-derive-0.8.62": {
+          "crate_index__zerocopy-derive-0.8.63": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "5457206954b06561e2608c7e19cf58b1926586d999c246eebe4502f7e2039d1a",
+              "sha256": "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/zerocopy-derive/0.8.62/download"
+                "https://static.crates.io/crates/zerocopy-derive/0.8.63/download"
               ],
-              "strip_prefix": "zerocopy-derive-0.8.62",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerocopy_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.62\",\n)\n"
+              "strip_prefix": "zerocopy-derive-0.8.63",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerocopy_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerocopy-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.63\",\n)\n"
             }
           },
           "crate_index__zerofrom-0.1.8": {
@@ -9476,7 +9849,7 @@
                 "https://static.crates.io/crates/zerofrom-derive/0.1.8/download"
               ],
               "strip_prefix": "zerofrom-derive-0.1.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerofrom_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n        \"@crate_index__synstructure-0.14.0//:synstructure\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerofrom-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.8\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerofrom_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n        \"@crate_index__synstructure-0.14.0//:synstructure\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerofrom-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.8\",\n)\n"
             }
           },
           "crate_index__zeroize-1.9.1": {
@@ -9524,39 +9897,39 @@
                 "https://static.crates.io/crates/zerotrie/0.2.5/download"
               ],
               "strip_prefix": "zerotrie-0.2.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerotrie\",\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerotrie\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.5\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerotrie\",\n    deps = [\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"yoke\",\n        \"zerofrom\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerotrie\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.5\",\n)\n"
             }
           },
-          "crate_index__zerovec-0.11.8": {
+          "crate_index__zerovec-0.11.9": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8",
+              "sha256": "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/zerovec/0.11.8/download"
+                "https://static.crates.io/crates/zerovec/0.11.9/download"
               ],
-              "strip_prefix": "zerovec-0.11.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerovec\",\n    deps = [\n        \"@crate_index__yoke-0.8.3//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__zerovec-derive-0.11.6//:zerovec_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"derive\",\n        \"yoke\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerovec\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.8\",\n)\n"
+              "strip_prefix": "zerovec-0.11.9",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zerovec\",\n    deps = [\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__zerovec-derive-0.11.7//:zerovec_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"derive\",\n        \"yoke\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerovec\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.9\",\n)\n"
             }
           },
-          "crate_index__zerovec-derive-0.11.6": {
+          "crate_index__zerovec-derive-0.11.7": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da",
+              "sha256": "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/zerovec-derive/0.11.6/download"
+                "https://static.crates.io/crates/zerovec-derive/0.11.7/download"
               ],
-              "strip_prefix": "zerovec-derive-0.11.6",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerovec_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerovec-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.6\",\n)\n"
+              "strip_prefix": "zerovec-derive-0.11.7",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"zerovec_derive\",\n    deps = [\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zerovec-derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.7\",\n)\n"
             }
           },
           "crate_index__zmij-1.0.23": {
@@ -9575,17 +9948,17 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zmij\",\n    deps = [\n        \"@crate_index__zmij-1.0.23//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.23\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zmij\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.23\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates": {
+          "crates_score_tooling": {
             "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo",
             "attributes": {
               "contents": {
-                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"assert-json-diff-2.0.2\",\n    actual = \"@crates__assert-json-diff-2.0.2//:assert_json_diff\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"assert-json-diff\",\n    actual = \"@crates__assert-json-diff-2.0.2//:assert_json_diff\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-1.0.3\",\n    actual = \"@crates__clang-1.0.3//:clang\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang\",\n    actual = \"@crates__clang-1.0.3//:clang\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-sys-1.8.1\",\n    actual = \"@crates__clang-sys-1.8.1//:clang_sys\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-sys\",\n    actual = \"@crates__clang-sys-1.8.1//:clang_sys\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crates__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crates__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.10.2\",\n    actual = \"@crates__env_logger-0.10.2//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crates__env_logger-0.10.2//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"flatbuffers-25.12.19\",\n    actual = \"@crates__flatbuffers-25.12.19//:flatbuffers\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"flatbuffers\",\n    actual = \"@crates__flatbuffers-25.12.19//:flatbuffers\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libloading-0.9.0\",\n    actual = \"@crates__libloading-0.9.0//:libloading\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libloading\",\n    actual = \"@crates__libloading-0.9.0//:libloading\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.34\",\n    actual = \"@crates__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crates__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"once_cell-1.21.4\",\n    actual = \"@crates__once_cell-1.21.4//:once_cell\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"once_cell\",\n    actual = \"@crates__once_cell-1.21.4//:once_cell\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest-2.9.3\",\n    actual = \"@crates__pest-2.9.3//:pest\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest\",\n    actual = \"@crates__pest-2.9.3//:pest\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest_derive-2.9.3\",\n    actual = \"@crates__pest_derive-2.9.3//:pest_derive\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest_derive\",\n    actual = \"@crates__pest_derive-2.9.3//:pest_derive\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crates__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crates__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crates__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crates__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_yaml-0.9.34+deprecated\",\n    actual = \"@crates__serde_yaml-0.9.34-deprecated//:serde_yaml\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_yaml\",\n    actual = \"@crates__serde_yaml-0.9.34-deprecated//:serde_yaml\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"strsim-0.11.1\",\n    actual = \"@crates__strsim-0.11.1//:strsim\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"strsim\",\n    actual = \"@crates__strsim-0.11.1//:strsim\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-1.0.69\",\n    actual = \"@crates__thiserror-1.0.69//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crates__thiserror-1.0.69//:thiserror\",\n    tags = [\"manual\"],\n)\n",
+                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"assert-json-diff-2.0.2\",\n    actual = \"@crates_score_tooling__assert-json-diff-2.0.2//:assert_json_diff\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"assert-json-diff\",\n    actual = \"@crates_score_tooling__assert-json-diff-2.0.2//:assert_json_diff\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-1.0.3\",\n    actual = \"@crates_score_tooling__clang-1.0.3//:clang\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang\",\n    actual = \"@crates_score_tooling__clang-1.0.3//:clang\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-sys-1.8.1\",\n    actual = \"@crates_score_tooling__clang-sys-1.8.1//:clang_sys\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clang-sys\",\n    actual = \"@crates_score_tooling__clang-sys-1.8.1//:clang_sys\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.5.61\",\n    actual = \"@crates_score_tooling__clap-4.5.61//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crates_score_tooling__clap-4.5.61//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.10.2\",\n    actual = \"@crates_score_tooling__env_logger-0.10.2//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crates_score_tooling__env_logger-0.10.2//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"flatbuffers-25.9.23\",\n    actual = \"@crates_score_tooling__flatbuffers-25.9.23//:flatbuffers\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"flatbuffers\",\n    actual = \"@crates_score_tooling__flatbuffers-25.9.23//:flatbuffers\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libloading-0.9.0\",\n    actual = \"@crates_score_tooling__libloading-0.9.0//:libloading\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libloading\",\n    actual = \"@crates_score_tooling__libloading-0.9.0//:libloading\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.34\",\n    actual = \"@crates_score_tooling__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crates_score_tooling__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"once_cell-1.19.0\",\n    actual = \"@crates_score_tooling__once_cell-1.19.0//:once_cell\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"once_cell\",\n    actual = \"@crates_score_tooling__once_cell-1.19.0//:once_cell\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest-2.8.8\",\n    actual = \"@crates_score_tooling__pest-2.8.8//:pest\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest\",\n    actual = \"@crates_score_tooling__pest-2.8.8//:pest\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest_derive-2.8.8\",\n    actual = \"@crates_score_tooling__pest_derive-2.8.8//:pest_derive\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pest_derive\",\n    actual = \"@crates_score_tooling__pest_derive-2.8.8//:pest_derive\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crates_score_tooling__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crates_score_tooling__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crates_score_tooling__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crates_score_tooling__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_yaml-0.9.34+deprecated\",\n    actual = \"@crates_score_tooling__serde_yaml-0.9.34-deprecated//:serde_yaml\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_yaml\",\n    actual = \"@crates_score_tooling__serde_yaml-0.9.34-deprecated//:serde_yaml\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"strsim-0.11.1\",\n    actual = \"@crates_score_tooling__strsim-0.11.1//:strsim\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"strsim\",\n    actual = \"@crates_score_tooling__strsim-0.11.1//:strsim\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-1.0.69\",\n    actual = \"@crates_score_tooling__thiserror-1.0.69//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crates_score_tooling__thiserror-1.0.69//:thiserror\",\n    tags = [\"manual\"],\n)\n",
                 "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n    # `ctx.attr.actual` is a list of 1 item due to the transition\n    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n    if CcInfo in ctx.attr.actual[0]:\n        providers.append(ctx.attr.actual[0][CcInfo])\n    return providers\n\ndef _change_compilation_mode(compilation_mode):\n    def _change_compilation_mode_impl(_settings, _attr):\n        return {\n            \"//command_line_option:compilation_mode\": compilation_mode,\n        }\n\n    return transition(\n        implementation = _change_compilation_mode_impl,\n        inputs = [],\n        outputs = [\n            \"//command_line_option:compilation_mode\",\n        ],\n    )\n\ndef _transition_alias_rule(compilation_mode):\n    return rule(\n        implementation = _transition_alias_impl,\n        provides = COMMON_PROVIDERS,\n        attrs = {\n            \"actual\": attr.label(\n                mandatory = True,\n                doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n                providers = COMMON_PROVIDERS,\n                cfg = _change_compilation_mode(compilation_mode),\n            ),\n            \"_allowlist_function_transition\": attr.label(\n                default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n            ),\n        },\n        doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n    )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n",
-                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"assert-json-diff\": Label(\"@crates//:assert-json-diff-2.0.2\"),\n            \"clang\": Label(\"@crates//:clang-1.0.3\"),\n            \"clang-sys\": Label(\"@crates//:clang-sys-1.8.1\"),\n            \"clap\": Label(\"@crates//:clap-4.6.7\"),\n            \"env_logger\": Label(\"@crates//:env_logger-0.10.2\"),\n            \"flatbuffers\": Label(\"@crates//:flatbuffers-25.12.19\"),\n            \"libloading\": Label(\"@crates//:libloading-0.9.0\"),\n            \"log\": Label(\"@crates//:log-0.4.34\"),\n            \"once_cell\": Label(\"@crates//:once_cell-1.21.4\"),\n            \"pest\": Label(\"@crates//:pest-2.9.3\"),\n            \"serde\": Label(\"@crates//:serde-1.0.229\"),\n            \"serde_json\": Label(\"@crates//:serde_json-1.0.154\"),\n            \"serde_yaml\": Label(\"@crates//:serde_yaml-0.9.34+deprecated\"),\n            \"strsim\": Label(\"@crates//:strsim-0.11.1\"),\n            \"thiserror\": Label(\"@crates//:thiserror-1.0.69\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"pest_derive\": Label(\"@crates//:pest_derive-2.9.3\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"arm64ec-pc-windows-msvc\": [],\n    \"cfg(all(windows, not(target_arch = \\\"arm64ec\\\")))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n    \"cfg(any())\": [],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n    \"cfg(windows)\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n    \"wasm32-unknown-unknown\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n    \"wasm32-wasip1\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n    \"x86_64-pc-windows-msvc\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-nixos-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crates__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crates//crates:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crates//crates:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crates//crates:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crates//crates:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crates//crates:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crates//crates:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__assert-json-diff-2.0.2\",\n        sha256 = \"47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/assert-json-diff/2.0.2/download\"],\n        strip_prefix = \"assert-json-diff-2.0.2\",\n        build_file = Label(\"@crates//crates:BUILD.assert-json-diff-2.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crates//crates:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__cc-1.8.0\",\n        sha256 = \"6651c9ed80effdc7db0ff72512157f901af5e3549e341e24b1dd4887d836d838\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.8.0/download\"],\n        strip_prefix = \"cc-1.8.0\",\n        build_file = Label(\"@crates//crates:BUILD.cc-1.8.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crates//crates:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clang-1.0.3\",\n        sha256 = \"34c6913be3a1c94f52fb975cdec7ef5a7b69de10a55de66dcbc30d7046b85fa1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang/1.0.3/download\"],\n        strip_prefix = \"clang-1.0.3\",\n        build_file = Label(\"@crates//crates:BUILD.clang-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clang-sys-1.8.1\",\n        sha256 = \"0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.8.1/download\"],\n        strip_prefix = \"clang-sys-1.8.1\",\n        build_file = Label(\"@crates//crates:BUILD.clang-sys-1.8.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crates//crates:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crates//crates:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crates//crates:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crates//crates:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crates//crates:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__env_logger-0.10.2\",\n        sha256 = \"4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.10.2/download\"],\n        strip_prefix = \"env_logger-0.10.2\",\n        build_file = Label(\"@crates//crates:BUILD.env_logger-0.10.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__equivalent-1.0.2\",\n        sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n        strip_prefix = \"equivalent-1.0.2\",\n        build_file = Label(\"@crates//crates:BUILD.equivalent-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__find-msvc-tools-0.1.14\",\n        sha256 = \"aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.14/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.14\",\n        build_file = Label(\"@crates//crates:BUILD.find-msvc-tools-0.1.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__flatbuffers-25.12.19\",\n        sha256 = \"35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/flatbuffers/25.12.19/download\"],\n        strip_prefix = \"flatbuffers-25.12.19\",\n        build_file = Label(\"@crates//crates:BUILD.flatbuffers-25.12.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crates//crates:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crates//crates:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crates//crates:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crates//crates:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__hermit-abi-0.5.3\",\n        sha256 = \"e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hermit-abi/0.5.3/download\"],\n        strip_prefix = \"hermit-abi-0.5.3\",\n        build_file = Label(\"@crates//crates:BUILD.hermit-abi-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__humantime-2.4.0\",\n        sha256 = \"15cdd26707701c53297e2fa6afb323d55fbc1d0810c3aec078ae3ef0424c3c15\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/humantime/2.4.0/download\"],\n        strip_prefix = \"humantime-2.4.0\",\n        build_file = Label(\"@crates//crates:BUILD.humantime-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crates//crates:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__is-terminal-0.4.17\",\n        sha256 = \"3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is-terminal/0.4.17/download\"],\n        strip_prefix = \"is-terminal-0.4.17\",\n        build_file = Label(\"@crates//crates:BUILD.is-terminal-0.4.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crates//crates:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crates//crates:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__libc-0.2.190\",\n        sha256 = \"ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.190/download\"],\n        strip_prefix = \"libc-0.2.190\",\n        build_file = Label(\"@crates//crates:BUILD.libc-0.2.190.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__libloading-0.9.0\",\n        sha256 = \"754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.9.0/download\"],\n        strip_prefix = \"libloading-0.9.0\",\n        build_file = Label(\"@crates//crates:BUILD.libloading-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__log-0.4.34\",\n        sha256 = \"f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.34/download\"],\n        strip_prefix = \"log-0.4.34\",\n        build_file = Label(\"@crates//crates:BUILD.log-0.4.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crates//crates:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crates//crates:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crates//crates:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__pest-2.9.3\",\n        sha256 = \"b568374ba38b33a6c627141f891faf16902b08d2db26b8ede1bcb0a15b1919fa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest/2.9.3/download\"],\n        strip_prefix = \"pest-2.9.3\",\n        build_file = Label(\"@crates//crates:BUILD.pest-2.9.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__pest_derive-2.9.3\",\n        sha256 = \"b66e184b924cebaaff20ab2256ca52f12332d528a39aa76553b5d96f92aacf7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_derive/2.9.3/download\"],\n        strip_prefix = \"pest_derive-2.9.3\",\n        build_file = Label(\"@crates//crates:BUILD.pest_derive-2.9.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__pest_generator-2.9.3\",\n        sha256 = \"a87478d267e4de54a626af9754f2f0f58e927aac6ed0575fe89bc05ad6851694\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_generator/2.9.3/download\"],\n        strip_prefix = \"pest_generator-2.9.3\",\n        build_file = Label(\"@crates//crates:BUILD.pest_generator-2.9.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__pest_meta-2.9.3\",\n        sha256 = \"4f986f248b4241ac359b831f6139aaa34e03b08a37b6caf7e201a33f95c869e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_meta/2.9.3/download\"],\n        strip_prefix = \"pest_meta-2.9.3\",\n        build_file = Label(\"@crates//crates:BUILD.pest_meta-2.9.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crates//crates:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__psm-0.1.24\",\n        sha256 = \"200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/psm/0.1.24/download\"],\n        strip_prefix = \"psm-0.1.24\",\n        build_file = Label(\"@crates//crates:BUILD.psm-0.1.24.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crates//crates:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crates//crates:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crates//crates:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crates//crates:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crates//crates:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__ryu-1.0.23\",\n        sha256 = \"9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ryu/1.0.23/download\"],\n        strip_prefix = \"ryu-1.0.23\",\n        build_file = Label(\"@crates//crates:BUILD.ryu-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crates//crates:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crates//crates:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crates//crates:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crates//crates:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crates//crates:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__serde_yaml-0.9.34-deprecated\",\n        sha256 = \"6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_yaml/0.9.34+deprecated/download\"],\n        strip_prefix = \"serde_yaml-0.9.34+deprecated\",\n        build_file = Label(\"@crates//crates:BUILD.serde_yaml-0.9.34+deprecated.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crates//crates:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__stacker-0.1.25\",\n        sha256 = \"707f49d46706bacf8a2b00d51dace3f9de527c13eec3778f570c411f89e69967\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stacker/0.1.25/download\"],\n        strip_prefix = \"stacker-0.1.25\",\n        build_file = Label(\"@crates//crates:BUILD.stacker-0.1.25.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crates//crates:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crates//crates:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__syn-3.0.8\",\n        sha256 = \"01016da373cd8f7ef12624f796309f5c31ba8d646dd08856c02cd741d823c622\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.8/download\"],\n        strip_prefix = \"syn-3.0.8\",\n        build_file = Label(\"@crates//crates:BUILD.syn-3.0.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__termcolor-1.4.1\",\n        sha256 = \"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termcolor/1.4.1/download\"],\n        strip_prefix = \"termcolor-1.4.1\",\n        build_file = Label(\"@crates//crates:BUILD.termcolor-1.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__thiserror-1.0.69\",\n        sha256 = \"b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/1.0.69/download\"],\n        strip_prefix = \"thiserror-1.0.69\",\n        build_file = Label(\"@crates//crates:BUILD.thiserror-1.0.69.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__thiserror-impl-1.0.69\",\n        sha256 = \"4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.69/download\"],\n        strip_prefix = \"thiserror-impl-1.0.69\",\n        build_file = Label(\"@crates//crates:BUILD.thiserror-impl-1.0.69.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__ucd-trie-0.1.7\",\n        sha256 = \"2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ucd-trie/0.1.7/download\"],\n        strip_prefix = \"ucd-trie-0.1.7\",\n        build_file = Label(\"@crates//crates:BUILD.ucd-trie-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__unicode-ident-1.0.26\",\n        sha256 = \"d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.26/download\"],\n        strip_prefix = \"unicode-ident-1.0.26\",\n        build_file = Label(\"@crates//crates:BUILD.unicode-ident-1.0.26.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__unsafe-libyaml-0.2.11\",\n        sha256 = \"673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unsafe-libyaml/0.2.11/download\"],\n        strip_prefix = \"unsafe-libyaml-0.2.11\",\n        build_file = Label(\"@crates//crates:BUILD.unsafe-libyaml-0.2.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crates//crates:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__winapi-util-0.1.11\",\n        sha256 = \"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-util/0.1.11/download\"],\n        strip_prefix = \"winapi-util-0.1.11\",\n        build_file = Label(\"@crates//crates:BUILD.winapi-util-0.1.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crates//crates:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crates//crates:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crates//crates:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crates__assert-json-diff-2.0.2\", is_dev_dep = False),\n       struct(repo=\"crates__clang-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crates__clang-sys-1.8.1\", is_dev_dep = False),\n       struct(repo=\"crates__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crates__env_logger-0.10.2\", is_dev_dep = False),\n       struct(repo=\"crates__flatbuffers-25.12.19\", is_dev_dep = False),\n       struct(repo=\"crates__libloading-0.9.0\", is_dev_dep = False),\n       struct(repo=\"crates__log-0.4.34\", is_dev_dep = False),\n       struct(repo=\"crates__once_cell-1.21.4\", is_dev_dep = False),\n       struct(repo=\"crates__pest-2.9.3\", is_dev_dep = False),\n       struct(repo=\"crates__pest_derive-2.9.3\", is_dev_dep = False),\n       struct(repo=\"crates__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crates__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crates__serde_yaml-0.9.34-deprecated\", is_dev_dep = False),\n       struct(repo=\"crates__strsim-0.11.1\", is_dev_dep = False),\n       struct(repo=\"crates__thiserror-1.0.69\", is_dev_dep = False),\n    ]\n"
+                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"assert-json-diff\": Label(\"@crates_score_tooling//:assert-json-diff-2.0.2\"),\n            \"clang\": Label(\"@crates_score_tooling//:clang-1.0.3\"),\n            \"clang-sys\": Label(\"@crates_score_tooling//:clang-sys-1.8.1\"),\n            \"clap\": Label(\"@crates_score_tooling//:clap-4.5.61\"),\n            \"env_logger\": Label(\"@crates_score_tooling//:env_logger-0.10.2\"),\n            \"flatbuffers\": Label(\"@crates_score_tooling//:flatbuffers-25.9.23\"),\n            \"libloading\": Label(\"@crates_score_tooling//:libloading-0.9.0\"),\n            \"log\": Label(\"@crates_score_tooling//:log-0.4.34\"),\n            \"once_cell\": Label(\"@crates_score_tooling//:once_cell-1.19.0\"),\n            \"pest\": Label(\"@crates_score_tooling//:pest-2.8.8\"),\n            \"serde\": Label(\"@crates_score_tooling//:serde-1.0.229\"),\n            \"serde_json\": Label(\"@crates_score_tooling//:serde_json-1.0.154\"),\n            \"serde_yaml\": Label(\"@crates_score_tooling//:serde_yaml-0.9.34+deprecated\"),\n            \"strsim\": Label(\"@crates_score_tooling//:strsim-0.11.1\"),\n            \"thiserror\": Label(\"@crates_score_tooling//:thiserror-1.0.69\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"pest_derive\": Label(\"@crates_score_tooling//:pest_derive-2.8.8\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"cfg(any())\": [],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n    \"cfg(windows)\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n    \"wasm32-unknown-unknown\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n    \"wasm32-wasip1\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n    \"x86_64-pc-windows-msvc\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-nixos-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__assert-json-diff-2.0.2\",\n        sha256 = \"47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/assert-json-diff/2.0.2/download\"],\n        strip_prefix = \"assert-json-diff-2.0.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.assert-json-diff-2.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clang-1.0.3\",\n        sha256 = \"34c6913be3a1c94f52fb975cdec7ef5a7b69de10a55de66dcbc30d7046b85fa1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang/1.0.3/download\"],\n        strip_prefix = \"clang-1.0.3\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clang-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clang-sys-1.8.1\",\n        sha256 = \"0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.8.1/download\"],\n        strip_prefix = \"clang-sys-1.8.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clang-sys-1.8.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clap-4.5.61\",\n        sha256 = \"52fa72306bb30daf11bc97773431628e5b4916e97aaa74b7d3f625d4d495da02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.5.61/download\"],\n        strip_prefix = \"clap-4.5.61\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clap-4.5.61.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clap_builder-4.5.61\",\n        sha256 = \"2071365c5c56eae7d77414029dde2f4f4ba151cf68d5a3261c9a40de428ace93\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.5.61/download\"],\n        strip_prefix = \"clap_builder-4.5.61\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clap_builder-4.5.61.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clap_derive-4.5.61\",\n        sha256 = \"dec5be1eea072311774b7b84ded287adbd9f293f9d23456817605c6042f4f5e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.5.61/download\"],\n        strip_prefix = \"clap_derive-4.5.61\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clap_derive-4.5.61.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__env_logger-0.10.2\",\n        sha256 = \"4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.10.2/download\"],\n        strip_prefix = \"env_logger-0.10.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.env_logger-0.10.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__equivalent-1.0.2\",\n        sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n        strip_prefix = \"equivalent-1.0.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.equivalent-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__flatbuffers-25.9.23\",\n        sha256 = \"09b6620799e7340ebd9968d2e0708eb82cf1971e9a16821e2091b6d6e475eed5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/flatbuffers/25.9.23/download\"],\n        strip_prefix = \"flatbuffers-25.9.23\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.flatbuffers-25.9.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__hermit-abi-0.5.3\",\n        sha256 = \"e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hermit-abi/0.5.3/download\"],\n        strip_prefix = \"hermit-abi-0.5.3\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.hermit-abi-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__humantime-2.4.0\",\n        sha256 = \"15cdd26707701c53297e2fa6afb323d55fbc1d0810c3aec078ae3ef0424c3c15\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/humantime/2.4.0/download\"],\n        strip_prefix = \"humantime-2.4.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.humantime-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__is-terminal-0.4.17\",\n        sha256 = \"3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is-terminal/0.4.17/download\"],\n        strip_prefix = \"is-terminal-0.4.17\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.is-terminal-0.4.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__libc-0.2.190\",\n        sha256 = \"ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.190/download\"],\n        strip_prefix = \"libc-0.2.190\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.libc-0.2.190.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__libloading-0.9.0\",\n        sha256 = \"754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.9.0/download\"],\n        strip_prefix = \"libloading-0.9.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.libloading-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__log-0.4.34\",\n        sha256 = \"f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.34/download\"],\n        strip_prefix = \"log-0.4.34\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.log-0.4.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__once_cell-1.19.0\",\n        sha256 = \"3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.19.0/download\"],\n        strip_prefix = \"once_cell-1.19.0\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.once_cell-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__pest-2.8.8\",\n        sha256 = \"7df728be843c7070fab6ab7c328c4e9e9d78e23bf749c0669c86ee7ebfa050a2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest/2.8.8/download\"],\n        strip_prefix = \"pest-2.8.8\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.pest-2.8.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__pest_derive-2.8.8\",\n        sha256 = \"9e2dd6fc3b26b3462ee188aac870f5a41d398f1cd5e2408d16531bd71c9591fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_derive/2.8.8/download\"],\n        strip_prefix = \"pest_derive-2.8.8\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.pest_derive-2.8.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__pest_generator-2.8.8\",\n        sha256 = \"6a7a9205cfb6f596a9e8b689c0a15f9ceb7a1aafae7aaf788150ac65b29975b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_generator/2.8.8/download\"],\n        strip_prefix = \"pest_generator-2.8.8\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.pest_generator-2.8.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__pest_meta-2.8.8\",\n        sha256 = \"85abd351c0de1e8384fc791a0737111a350394937e92b956b743dac12429f57c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pest_meta/2.8.8/download\"],\n        strip_prefix = \"pest_meta-2.8.8\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.pest_meta-2.8.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__ryu-1.0.23\",\n        sha256 = \"9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ryu/1.0.23/download\"],\n        strip_prefix = \"ryu-1.0.23\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.ryu-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__serde_yaml-0.9.34-deprecated\",\n        sha256 = \"6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_yaml/0.9.34+deprecated/download\"],\n        strip_prefix = \"serde_yaml-0.9.34+deprecated\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.serde_yaml-0.9.34+deprecated.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__syn-3.0.8\",\n        sha256 = \"01016da373cd8f7ef12624f796309f5c31ba8d646dd08856c02cd741d823c622\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.8/download\"],\n        strip_prefix = \"syn-3.0.8\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.syn-3.0.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__termcolor-1.4.1\",\n        sha256 = \"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termcolor/1.4.1/download\"],\n        strip_prefix = \"termcolor-1.4.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.termcolor-1.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__thiserror-1.0.69\",\n        sha256 = \"b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/1.0.69/download\"],\n        strip_prefix = \"thiserror-1.0.69\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.thiserror-1.0.69.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__thiserror-impl-1.0.69\",\n        sha256 = \"4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.69/download\"],\n        strip_prefix = \"thiserror-impl-1.0.69\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.thiserror-impl-1.0.69.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__ucd-trie-0.1.7\",\n        sha256 = \"2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ucd-trie/0.1.7/download\"],\n        strip_prefix = \"ucd-trie-0.1.7\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.ucd-trie-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__unsafe-libyaml-0.2.11\",\n        sha256 = \"673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unsafe-libyaml/0.2.11/download\"],\n        strip_prefix = \"unsafe-libyaml-0.2.11\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.unsafe-libyaml-0.2.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__winapi-util-0.1.11\",\n        sha256 = \"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-util/0.1.11/download\"],\n        strip_prefix = \"winapi-util-0.1.11\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.winapi-util-0.1.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crates_score_tooling__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crates_score_tooling//crates_score_tooling:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crates_score_tooling__assert-json-diff-2.0.2\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__clang-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__clang-sys-1.8.1\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__clap-4.5.61\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__env_logger-0.10.2\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__flatbuffers-25.9.23\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__libloading-0.9.0\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__log-0.4.34\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__once_cell-1.19.0\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__pest-2.8.8\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__pest_derive-2.8.8\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__serde_yaml-0.9.34-deprecated\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__strsim-0.11.1\", is_dev_dep = False),\n       struct(repo=\"crates_score_tooling__thiserror-1.0.69\", is_dev_dep = False),\n    ]\n"
               }
             }
           },
-          "crates__aho-corasick-1.1.5": {
+          "crates_score_tooling__aho-corasick-1.1.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9598,10 +9971,10 @@
                 "https://static.crates.io/crates/aho-corasick/1.1.5/download"
               ],
               "strip_prefix": "aho-corasick-1.1.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"aho_corasick\",\n    deps = [\n        \"@crates__memchr-2.8.3//:memchr\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"perf-literal\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=aho-corasick\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.5\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"aho_corasick\",\n    deps = [\n        \"@crates_score_tooling__memchr-2.8.3//:memchr\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"perf-literal\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=aho-corasick\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.5\",\n)\n"
             }
           },
-          "crates__anstream-1.0.0": {
+          "crates_score_tooling__anstream-1.0.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9614,10 +9987,10 @@
                 "https://static.crates.io/crates/anstream/1.0.0/download"
               ],
               "strip_prefix": "anstream-1.0.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstream\",\n    deps = [\n        \"@crates__anstyle-1.0.14//:anstyle\",\n        \"@crates__anstyle-parse-1.0.0//:anstyle_parse\",\n        \"@crates__anstyle-query-1.1.5//:anstyle_query\",\n        \"@crates__colorchoice-1.0.5//:colorchoice\",\n        \"@crates__is_terminal_polyfill-1.70.2//:is_terminal_polyfill\",\n        \"@crates__utf8parse-0.2.2//:utf8parse\",\n    ] + select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__anstyle-wincon-3.0.11//:anstyle_wincon\",  # x86_64-pc-windows-msvc\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto\",\n        \"default\",\n        \"wincon\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstream\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstream\",\n    deps = [\n        \"@crates_score_tooling__anstyle-1.0.14//:anstyle\",\n        \"@crates_score_tooling__anstyle-parse-1.0.0//:anstyle_parse\",\n        \"@crates_score_tooling__anstyle-query-1.1.5//:anstyle_query\",\n        \"@crates_score_tooling__colorchoice-1.0.5//:colorchoice\",\n        \"@crates_score_tooling__is_terminal_polyfill-1.70.2//:is_terminal_polyfill\",\n        \"@crates_score_tooling__utf8parse-0.2.2//:utf8parse\",\n    ] + select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__anstyle-wincon-3.0.11//:anstyle_wincon\",  # x86_64-pc-windows-msvc\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto\",\n        \"default\",\n        \"wincon\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstream\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
             }
           },
-          "crates__anstyle-1.0.14": {
+          "crates_score_tooling__anstyle-1.0.14": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9633,7 +10006,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.14\",\n)\n"
             }
           },
-          "crates__anstyle-parse-1.0.0": {
+          "crates_score_tooling__anstyle-parse-1.0.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9646,10 +10019,10 @@
                 "https://static.crates.io/crates/anstyle-parse/1.0.0/download"
               ],
               "strip_prefix": "anstyle-parse-1.0.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_parse\",\n    deps = [\n        \"@crates__utf8parse-0.2.2//:utf8parse\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"utf8\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-parse\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_parse\",\n    deps = [\n        \"@crates_score_tooling__utf8parse-0.2.2//:utf8parse\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"utf8\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-parse\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
             }
           },
-          "crates__anstyle-query-1.1.5": {
+          "crates_score_tooling__anstyle-query-1.1.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9662,10 +10035,10 @@
                 "https://static.crates.io/crates/anstyle-query/1.1.5/download"
               ],
               "strip_prefix": "anstyle-query-1.1.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_query\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-query\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.5\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_query\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-query\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.5\",\n)\n"
             }
           },
-          "crates__anstyle-wincon-3.0.11": {
+          "crates_score_tooling__anstyle-wincon-3.0.11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9678,10 +10051,10 @@
                 "https://static.crates.io/crates/anstyle-wincon/3.0.11/download"
               ],
               "strip_prefix": "anstyle-wincon-3.0.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_wincon\",\n    deps = [\n        \"@crates__anstyle-1.0.14//:anstyle\",\n    ] + select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__once_cell_polyfill-1.70.2//:once_cell_polyfill\",  # cfg(windows)\n            \"@crates__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-wincon\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.11\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"anstyle_wincon\",\n    deps = [\n        \"@crates_score_tooling__anstyle-1.0.14//:anstyle\",\n    ] + select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__once_cell_polyfill-1.70.2//:once_cell_polyfill\",  # cfg(windows)\n            \"@crates_score_tooling__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=anstyle-wincon\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.11\",\n)\n"
             }
           },
-          "crates__assert-json-diff-2.0.2": {
+          "crates_score_tooling__assert-json-diff-2.0.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9694,10 +10067,10 @@
                 "https://static.crates.io/crates/assert-json-diff/2.0.2/download"
               ],
               "strip_prefix": "assert-json-diff-2.0.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"assert_json_diff\",\n    deps = [\n        \"@crates__serde-1.0.229//:serde\",\n        \"@crates__serde_json-1.0.154//:serde_json\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=assert-json-diff\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"assert_json_diff\",\n    deps = [\n        \"@crates_score_tooling__serde-1.0.229//:serde\",\n        \"@crates_score_tooling__serde_json-1.0.154//:serde_json\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=assert-json-diff\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.2\",\n)\n"
             }
           },
-          "crates__bitflags-2.13.2": {
+          "crates_score_tooling__bitflags-2.13.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9713,23 +10086,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bitflags\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bitflags\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.13.2\",\n)\n"
             }
           },
-          "crates__cc-1.8.0": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "6651c9ed80effdc7db0ff72512157f901af5e3549e341e24b1dd4887d836d838",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/cc/1.8.0/download"
-              ],
-              "strip_prefix": "cc-1.8.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cc\",\n    deps = [\n        \"@crates__find-msvc-tools-0.1.14//:find_msvc_tools\",\n        \"@crates__shlex-2.0.1//:shlex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.8.0\",\n)\n"
-            }
-          },
-          "crates__cfg-if-1.0.5": {
+          "crates_score_tooling__cfg-if-1.0.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9745,7 +10102,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cfg_if\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cfg-if\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.5\",\n)\n"
             }
           },
-          "crates__clang-1.0.3": {
+          "crates_score_tooling__clang-1.0.3": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9758,10 +10115,10 @@
                 "https://static.crates.io/crates/clang/1.0.3/download"
               ],
               "strip_prefix": "clang-1.0.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clang\",\n    deps = [\n        \"@crates__clang-sys-1.8.1//:clang_sys\",\n        \"@crates__libc-0.2.190//:libc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_5_0\",\n        \"runtime\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.3\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clang\",\n    deps = [\n        \"@crates_score_tooling__clang-sys-1.8.1//:clang_sys\",\n        \"@crates_score_tooling__libc-0.2.190//:libc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_3_5\",\n        \"clang_3_6\",\n        \"clang_3_7\",\n        \"clang_3_8\",\n        \"clang_3_9\",\n        \"clang_4_0\",\n        \"clang_5_0\",\n        \"clang_6_0\",\n        \"clang_7_0\",\n        \"runtime\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.3\",\n)\n"
             }
           },
-          "crates__clang-sys-1.8.1": {
+          "crates_score_tooling__clang-sys-1.8.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9774,58 +10131,58 @@
                 "https://static.crates.io/crates/clang-sys/1.8.1/download"
               ],
               "strip_prefix": "clang-sys-1.8.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clang_sys\",\n    deps = [\n        \"@crates//:libloading\",\n        \"@crates__clang-sys-1.8.1//:build_script_build\",\n        \"@crates__glob-0.3.4//:glob\",\n        \"@crates__libc-0.2.190//:libc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_18_0\",\n        \"clang_5_0\",\n        \"runtime\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.8.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_18_0\",\n        \"clang_5_0\",\n        \"runtime\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates__glob-0.3.4//:glob\",\n    ],\n    edition = \"2021\",\n    links = \"clang\",\n    pkg_name = \"clang-sys\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.8.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clang_sys\",\n    deps = [\n        \"@crates_score_tooling//:libloading\",\n        \"@crates_score_tooling__clang-sys-1.8.1//:build_script_build\",\n        \"@crates_score_tooling__glob-0.3.4//:glob\",\n        \"@crates_score_tooling__libc-0.2.190//:libc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_18_0\",\n        \"clang_3_5\",\n        \"clang_3_6\",\n        \"clang_3_7\",\n        \"clang_3_8\",\n        \"clang_3_9\",\n        \"clang_4_0\",\n        \"clang_5_0\",\n        \"clang_6_0\",\n        \"clang_7_0\",\n        \"runtime\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.8.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clang_18_0\",\n        \"clang_3_5\",\n        \"clang_3_6\",\n        \"clang_3_7\",\n        \"clang_3_8\",\n        \"clang_3_9\",\n        \"clang_4_0\",\n        \"clang_5_0\",\n        \"clang_6_0\",\n        \"clang_7_0\",\n        \"runtime\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates_score_tooling__glob-0.3.4//:glob\",\n    ],\n    edition = \"2021\",\n    links = \"clang\",\n    pkg_name = \"clang-sys\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clang-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.8.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__clap-4.6.7": {
+          "crates_score_tooling__clap-4.5.61": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946",
+              "sha256": "52fa72306bb30daf11bc97773431628e5b4916e97aaa74b7d3f625d4d495da02",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/clap/4.6.7/download"
+                "https://static.crates.io/crates/clap/4.5.61/download"
               ],
-              "strip_prefix": "clap-4.6.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clap\",\n    deps = [\n        \"@crates__clap_builder-4.6.7//:clap_builder\",\n    ],\n    proc_macro_deps = [\n        \"@crates__clap_derive-4.6.7//:clap_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"color\",\n        \"default\",\n        \"derive\",\n        \"error-context\",\n        \"help\",\n        \"std\",\n        \"suggestions\",\n        \"usage\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.6.7\",\n)\n"
+              "strip_prefix": "clap-4.5.61",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clap\",\n    deps = [\n        \"@crates_score_tooling__clap_builder-4.5.61//:clap_builder\",\n    ],\n    proc_macro_deps = [\n        \"@crates_score_tooling__clap_derive-4.5.61//:clap_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"color\",\n        \"default\",\n        \"derive\",\n        \"error-context\",\n        \"help\",\n        \"std\",\n        \"suggestions\",\n        \"usage\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.5.61\",\n)\n"
             }
           },
-          "crates__clap_builder-4.6.7": {
+          "crates_score_tooling__clap_builder-4.5.61": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d",
+              "sha256": "2071365c5c56eae7d77414029dde2f4f4ba151cf68d5a3261c9a40de428ace93",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/clap_builder/4.6.7/download"
+                "https://static.crates.io/crates/clap_builder/4.5.61/download"
               ],
-              "strip_prefix": "clap_builder-4.6.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clap_builder\",\n    deps = [\n        \"@crates__anstream-1.0.0//:anstream\",\n        \"@crates__anstyle-1.0.14//:anstyle\",\n        \"@crates__clap_lex-1.1.1//:clap_lex\",\n        \"@crates__strsim-0.11.1//:strsim\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"color\",\n        \"error-context\",\n        \"help\",\n        \"std\",\n        \"suggestions\",\n        \"usage\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_builder\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.6.7\",\n)\n"
+              "strip_prefix": "clap_builder-4.5.61",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clap_builder\",\n    deps = [\n        \"@crates_score_tooling__anstream-1.0.0//:anstream\",\n        \"@crates_score_tooling__anstyle-1.0.14//:anstyle\",\n        \"@crates_score_tooling__clap_lex-1.1.1//:clap_lex\",\n        \"@crates_score_tooling__strsim-0.11.1//:strsim\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"color\",\n        \"error-context\",\n        \"help\",\n        \"std\",\n        \"suggestions\",\n        \"usage\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_builder\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.5.61\",\n)\n"
             }
           },
-          "crates__clap_derive-4.6.7": {
+          "crates_score_tooling__clap_derive-4.5.61": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0",
+              "sha256": "dec5be1eea072311774b7b84ded287adbd9f293f9d23456817605c6042f4f5e0",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/clap_derive/4.6.7/download"
+                "https://static.crates.io/crates/clap_derive/4.5.61/download"
               ],
-              "strip_prefix": "clap_derive-4.6.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"clap_derive\",\n    deps = [\n        \"@crates__heck-0.5.0//:heck\",\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.6.7\",\n)\n"
+              "strip_prefix": "clap_derive-4.5.61",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"clap_derive\",\n    deps = [\n        \"@crates_score_tooling__heck-0.5.0//:heck\",\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"4.5.61\",\n)\n"
             }
           },
-          "crates__clap_lex-1.1.1": {
+          "crates_score_tooling__clap_lex-1.1.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9841,7 +10198,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"clap_lex\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=clap_lex\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.1\",\n)\n"
             }
           },
-          "crates__colorchoice-1.0.5": {
+          "crates_score_tooling__colorchoice-1.0.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9857,7 +10214,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"colorchoice\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=colorchoice\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.5\",\n)\n"
             }
           },
-          "crates__env_logger-0.10.2": {
+          "crates_score_tooling__env_logger-0.10.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9870,10 +10227,10 @@
                 "https://static.crates.io/crates/env_logger/0.10.2/download"
               ],
               "strip_prefix": "env_logger-0.10.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crates__humantime-2.4.0//:humantime\",\n        \"@crates__is-terminal-0.4.17//:is_terminal\",\n        \"@crates__log-0.4.34//:log\",\n        \"@crates__regex-1.13.1//:regex\",\n        \"@crates__termcolor-1.4.1//:termcolor\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.10.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crates_score_tooling__humantime-2.4.0//:humantime\",\n        \"@crates_score_tooling__is-terminal-0.4.17//:is_terminal\",\n        \"@crates_score_tooling__log-0.4.34//:log\",\n        \"@crates_score_tooling__regex-1.13.1//:regex\",\n        \"@crates_score_tooling__termcolor-1.4.1//:termcolor\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.10.2\",\n)\n"
             }
           },
-          "crates__equivalent-1.0.2": {
+          "crates_score_tooling__equivalent-1.0.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9889,39 +10246,23 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"equivalent\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=equivalent\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.2\",\n)\n"
             }
           },
-          "crates__find-msvc-tools-0.1.14": {
+          "crates_score_tooling__flatbuffers-25.9.23": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484",
+              "sha256": "09b6620799e7340ebd9968d2e0708eb82cf1971e9a16821e2091b6d6e475eed5",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/find-msvc-tools/0.1.14/download"
+                "https://static.crates.io/crates/flatbuffers/25.9.23/download"
               ],
-              "strip_prefix": "find-msvc-tools-0.1.14",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"find_msvc_tools\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=find-msvc-tools\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.14\",\n)\n"
+              "strip_prefix": "flatbuffers-25.9.23",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"flatbuffers\",\n    deps = [\n        \"@crates_score_tooling__bitflags-2.13.2//:bitflags\",\n        \"@crates_score_tooling__flatbuffers-25.9.23//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=flatbuffers\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"25.9.23\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates_score_tooling__rustc_version-0.4.1//:rustc_version\",\n    ],\n    edition = \"2018\",\n    pkg_name = \"flatbuffers\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=flatbuffers\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"25.9.23\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__flatbuffers-25.12.19": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/flatbuffers/25.12.19/download"
-              ],
-              "strip_prefix": "flatbuffers-25.12.19",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"flatbuffers\",\n    deps = [\n        \"@crates__bitflags-2.13.2//:bitflags\",\n        \"@crates__flatbuffers-25.12.19//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=flatbuffers\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"25.12.19\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates__rustc_version-0.4.1//:rustc_version\",\n    ],\n    edition = \"2018\",\n    pkg_name = \"flatbuffers\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=flatbuffers\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"25.12.19\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
-            }
-          },
-          "crates__foldhash-0.2.0": {
+          "crates_score_tooling__foldhash-0.2.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9937,7 +10278,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"foldhash\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=foldhash\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.0\",\n)\n"
             }
           },
-          "crates__glob-0.3.4": {
+          "crates_score_tooling__glob-0.3.4": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9953,7 +10294,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"glob\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=glob\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.4\",\n)\n"
             }
           },
-          "crates__hashbrown-0.17.1": {
+          "crates_score_tooling__hashbrown-0.17.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9969,7 +10310,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hashbrown\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hashbrown\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.17.1\",\n)\n"
             }
           },
-          "crates__heck-0.5.0": {
+          "crates_score_tooling__heck-0.5.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -9985,7 +10326,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"heck\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=heck\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.0\",\n)\n"
             }
           },
-          "crates__hermit-abi-0.5.3": {
+          "crates_score_tooling__hermit-abi-0.5.3": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10001,7 +10342,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"hermit_abi\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=hermit-abi\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.3\",\n)\n"
             }
           },
-          "crates__humantime-2.4.0": {
+          "crates_score_tooling__humantime-2.4.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10017,7 +10358,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"humantime\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=humantime\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
-          "crates__indexmap-2.14.2": {
+          "crates_score_tooling__indexmap-2.14.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10030,10 +10371,10 @@
                 "https://static.crates.io/crates/indexmap/2.14.2/download"
               ],
               "strip_prefix": "indexmap-2.14.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indexmap\",\n    deps = [\n        \"@crates__equivalent-1.0.2//:equivalent\",\n        \"@crates__hashbrown-0.17.1//:hashbrown\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indexmap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.14.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indexmap\",\n    deps = [\n        \"@crates_score_tooling__equivalent-1.0.2//:equivalent\",\n        \"@crates_score_tooling__hashbrown-0.17.1//:hashbrown\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indexmap\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.14.2\",\n)\n"
             }
           },
-          "crates__is-terminal-0.4.17": {
+          "crates_score_tooling__is-terminal-0.4.17": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10046,10 +10387,10 @@
                 "https://static.crates.io/crates/is-terminal/0.4.17/download"
               ],
               "strip_prefix": "is-terminal-0.4.17",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"is_terminal\",\n    deps = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n            \"@crates__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crates__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [\n            \"@crates__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crates__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n            \"@crates__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=is-terminal\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.17\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"is_terminal\",\n    deps = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n            \"@crates_score_tooling__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crates_score_tooling__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [\n            \"@crates_score_tooling__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crates_score_tooling__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n            \"@crates_score_tooling__libc-0.2.190//:libc\",  # cfg(any(unix, target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=is-terminal\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.17\",\n)\n"
             }
           },
-          "crates__is_terminal_polyfill-1.70.2": {
+          "crates_score_tooling__is_terminal_polyfill-1.70.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10065,7 +10406,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"is_terminal_polyfill\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=is_terminal_polyfill\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.70.2\",\n)\n"
             }
           },
-          "crates__itoa-1.0.18": {
+          "crates_score_tooling__itoa-1.0.18": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10081,7 +10422,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"itoa\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=itoa\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.18\",\n)\n"
             }
           },
-          "crates__libc-0.2.190": {
+          "crates_score_tooling__libc-0.2.190": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10094,10 +10435,10 @@
                 "https://static.crates.io/crates/libc/0.2.190/download"
               ],
               "strip_prefix": "libc-0.2.190",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"libc\",\n    deps = [\n        \"@crates__libc-0.2.190//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.190\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"libc\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.190\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"libc\",\n    deps = [\n        \"@crates_score_tooling__libc-0.2.190//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.190\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"libc\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.190\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__libloading-0.9.0": {
+          "crates_score_tooling__libloading-0.9.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10110,10 +10451,10 @@
                 "https://static.crates.io/crates/libloading/0.9.0/download"
               ],
               "strip_prefix": "libloading-0.9.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"libloading\",\n    deps = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n            \"@crates__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crates__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__windows-link-0.2.1//:windows_link\",  # cfg(windows)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crates__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n            \"@crates__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libloading\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.9.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"libloading\",\n    deps = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n            \"@crates_score_tooling__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crates_score_tooling__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__windows-link-0.2.1//:windows_link\",  # cfg(windows)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crates_score_tooling__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n            \"@crates_score_tooling__cfg-if-1.0.5//:cfg_if\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=libloading\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.9.0\",\n)\n"
             }
           },
-          "crates__log-0.4.34": {
+          "crates_score_tooling__log-0.4.34": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10129,7 +10470,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"log\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=log\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.34\",\n)\n"
             }
           },
-          "crates__memchr-2.8.3": {
+          "crates_score_tooling__memchr-2.8.3": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10145,23 +10486,23 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"memchr\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=memchr\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.8.3\",\n)\n"
             }
           },
-          "crates__once_cell-1.21.4": {
+          "crates_score_tooling__once_cell-1.19.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50",
+              "sha256": "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/once_cell/1.21.4/download"
+                "https://static.crates.io/crates/once_cell/1.19.0/download"
               ],
-              "strip_prefix": "once_cell-1.21.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"once_cell\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"race\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=once_cell\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.21.4\",\n)\n"
+              "strip_prefix": "once_cell-1.19.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"once_cell\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"race\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=once_cell\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.19.0\",\n)\n"
             }
           },
-          "crates__once_cell_polyfill-1.70.2": {
+          "crates_score_tooling__once_cell_polyfill-1.70.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10177,71 +10518,71 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"once_cell_polyfill\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=once_cell_polyfill\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.70.2\",\n)\n"
             }
           },
-          "crates__pest-2.9.3": {
+          "crates_score_tooling__pest-2.8.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b568374ba38b33a6c627141f891faf16902b08d2db26b8ede1bcb0a15b1919fa",
+              "sha256": "7df728be843c7070fab6ab7c328c4e9e9d78e23bf749c0669c86ee7ebfa050a2",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/pest/2.9.3/download"
+                "https://static.crates.io/crates/pest/2.8.8/download"
               ],
-              "strip_prefix": "pest-2.9.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest\",\n    deps = [\n        \"@crates__memchr-2.8.3//:memchr\",\n        \"@crates__psm-0.1.24//:psm\",\n        \"@crates__stacker-0.1.25//:stacker\",\n        \"@crates__ucd-trie-0.1.7//:ucd_trie\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"memchr\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.9.3\",\n)\n"
+              "strip_prefix": "pest-2.8.8",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest\",\n    deps = [\n        \"@crates_score_tooling__memchr-2.8.3//:memchr\",\n        \"@crates_score_tooling__ucd-trie-0.1.7//:ucd_trie\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"memchr\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.8.8\",\n)\n"
             }
           },
-          "crates__pest_derive-2.9.3": {
+          "crates_score_tooling__pest_derive-2.8.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b66e184b924cebaaff20ab2256ca52f12332d528a39aa76553b5d96f92aacf7f",
+              "sha256": "9e2dd6fc3b26b3462ee188aac870f5a41d398f1cd5e2408d16531bd71c9591fd",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/pest_derive/2.9.3/download"
+                "https://static.crates.io/crates/pest_derive/2.8.8/download"
               ],
-              "strip_prefix": "pest_derive-2.9.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"pest_derive\",\n    deps = [\n        \"@crates__pest-2.9.3//:pest\",\n        \"@crates__pest_generator-2.9.3//:pest_generator\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.9.3\",\n)\n"
+              "strip_prefix": "pest_derive-2.8.8",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"pest_derive\",\n    deps = [\n        \"@crates_score_tooling__pest-2.8.8//:pest\",\n        \"@crates_score_tooling__pest_generator-2.8.8//:pest_generator\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.8.8\",\n)\n"
             }
           },
-          "crates__pest_generator-2.9.3": {
+          "crates_score_tooling__pest_generator-2.8.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "a87478d267e4de54a626af9754f2f0f58e927aac6ed0575fe89bc05ad6851694",
+              "sha256": "6a7a9205cfb6f596a9e8b689c0a15f9ceb7a1aafae7aaf788150ac65b29975b6",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/pest_generator/2.9.3/download"
+                "https://static.crates.io/crates/pest_generator/2.8.8/download"
               ],
-              "strip_prefix": "pest_generator-2.9.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest_generator\",\n    deps = [\n        \"@crates__pest-2.9.3//:pest\",\n        \"@crates__pest_meta-2.9.3//:pest_meta\",\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.9.3\",\n)\n"
+              "strip_prefix": "pest_generator-2.8.8",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest_generator\",\n    deps = [\n        \"@crates_score_tooling__pest-2.8.8//:pest\",\n        \"@crates_score_tooling__pest_meta-2.8.8//:pest_meta\",\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.8.8\",\n)\n"
             }
           },
-          "crates__pest_meta-2.9.3": {
+          "crates_score_tooling__pest_meta-2.8.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "4f986f248b4241ac359b831f6139aaa34e03b08a37b6caf7e201a33f95c869e1",
+              "sha256": "85abd351c0de1e8384fc791a0737111a350394937e92b956b743dac12429f57c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/pest_meta/2.9.3/download"
+                "https://static.crates.io/crates/pest_meta/2.8.8/download"
               ],
-              "strip_prefix": "pest_meta-2.9.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest_meta\",\n    deps = [\n        \"@crates__pest-2.9.3//:pest\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_meta\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.9.3\",\n)\n"
+              "strip_prefix": "pest_meta-2.8.8",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"pest_meta\",\n    deps = [\n        \"@crates_score_tooling__pest-2.8.8//:pest\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=pest_meta\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.8.8\",\n)\n"
             }
           },
-          "crates__proc-macro2-1.0.107": {
+          "crates_score_tooling__proc-macro2-1.0.107": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10254,26 +10595,10 @@
                 "https://static.crates.io/crates/proc-macro2/1.0.107/download"
               ],
               "strip_prefix": "proc-macro2-1.0.107",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"proc_macro2\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:build_script_build\",\n        \"@crates__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.107\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"proc-macro2\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.107\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"proc_macro2\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:build_script_build\",\n        \"@crates_score_tooling__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.107\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"proc-macro2\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=proc-macro2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.107\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__psm-0.1.24": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/psm/0.1.24/download"
-              ],
-              "strip_prefix": "psm-0.1.24",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"psm\",\n    deps = [\n        \"@crates__psm-0.1.24//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=psm\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.24\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates__cc-1.8.0//:cc\",\n    ],\n    edition = \"2015\",\n    pkg_name = \"psm\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=psm\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.1.24\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
-            }
-          },
-          "crates__quote-1.0.47": {
+          "crates_score_tooling__quote-1.0.47": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10286,10 +10611,10 @@
                 "https://static.crates.io/crates/quote/1.0.47/download"
               ],
               "strip_prefix": "quote-1.0.47",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"quote\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=quote\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.47\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"quote\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=quote\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.47\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"quote\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=quote\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.47\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"proc-macro\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"quote\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=quote\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.47\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__regex-1.13.1": {
+          "crates_score_tooling__regex-1.13.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10302,10 +10627,10 @@
                 "https://static.crates.io/crates/regex/1.13.1/download"
               ],
               "strip_prefix": "regex-1.13.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"regex\",\n    deps = [\n        \"@crates__aho-corasick-1.1.5//:aho_corasick\",\n        \"@crates__memchr-2.8.3//:memchr\",\n        \"@crates__regex-automata-0.4.18//:regex_automata\",\n        \"@crates__regex-syntax-0.8.11//:regex_syntax\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"perf\",\n        \"perf-backtrack\",\n        \"perf-cache\",\n        \"perf-dfa\",\n        \"perf-inline\",\n        \"perf-literal\",\n        \"perf-onepass\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=regex\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.13.1\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"regex\",\n    deps = [\n        \"@crates_score_tooling__aho-corasick-1.1.5//:aho_corasick\",\n        \"@crates_score_tooling__memchr-2.8.3//:memchr\",\n        \"@crates_score_tooling__regex-automata-0.4.18//:regex_automata\",\n        \"@crates_score_tooling__regex-syntax-0.8.11//:regex_syntax\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"perf\",\n        \"perf-backtrack\",\n        \"perf-cache\",\n        \"perf-dfa\",\n        \"perf-inline\",\n        \"perf-literal\",\n        \"perf-onepass\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=regex\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.13.1\",\n)\n"
             }
           },
-          "crates__regex-automata-0.4.18": {
+          "crates_score_tooling__regex-automata-0.4.18": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10318,10 +10643,10 @@
                 "https://static.crates.io/crates/regex-automata/0.4.18/download"
               ],
               "strip_prefix": "regex-automata-0.4.18",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"regex_automata\",\n    deps = [\n        \"@crates__aho-corasick-1.1.5//:aho_corasick\",\n        \"@crates__memchr-2.8.3//:memchr\",\n        \"@crates__regex-syntax-0.8.11//:regex_syntax\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"dfa-onepass\",\n        \"hybrid\",\n        \"meta\",\n        \"nfa-backtrack\",\n        \"nfa-pikevm\",\n        \"nfa-thompson\",\n        \"perf-inline\",\n        \"perf-literal\",\n        \"perf-literal-multisubstring\",\n        \"perf-literal-substring\",\n        \"std\",\n        \"syntax\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=regex-automata\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.18\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"regex_automata\",\n    deps = [\n        \"@crates_score_tooling__aho-corasick-1.1.5//:aho_corasick\",\n        \"@crates_score_tooling__memchr-2.8.3//:memchr\",\n        \"@crates_score_tooling__regex-syntax-0.8.11//:regex_syntax\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"dfa-onepass\",\n        \"hybrid\",\n        \"meta\",\n        \"nfa-backtrack\",\n        \"nfa-pikevm\",\n        \"nfa-thompson\",\n        \"perf-inline\",\n        \"perf-literal\",\n        \"perf-literal-multisubstring\",\n        \"perf-literal-substring\",\n        \"std\",\n        \"syntax\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=regex-automata\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.18\",\n)\n"
             }
           },
-          "crates__regex-syntax-0.8.11": {
+          "crates_score_tooling__regex-syntax-0.8.11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10337,7 +10662,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"regex_syntax\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=regex-syntax\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.11\",\n)\n"
             }
           },
-          "crates__rustc_version-0.4.1": {
+          "crates_score_tooling__rustc_version-0.4.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10350,10 +10675,10 @@
                 "https://static.crates.io/crates/rustc_version/0.4.1/download"
               ],
               "strip_prefix": "rustc_version-0.4.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"rustc_version\",\n    deps = [\n        \"@crates__semver-1.0.28//:semver\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustc_version\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.1\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"rustc_version\",\n    deps = [\n        \"@crates_score_tooling__semver-1.0.28//:semver\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=rustc_version\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.1\",\n)\n"
             }
           },
-          "crates__ryu-1.0.23": {
+          "crates_score_tooling__ryu-1.0.23": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10369,7 +10694,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ryu\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ryu\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.23\",\n)\n"
             }
           },
-          "crates__semver-1.0.28": {
+          "crates_score_tooling__semver-1.0.28": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10385,7 +10710,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"semver\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=semver\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.28\",\n)\n"
             }
           },
-          "crates__serde-1.0.229": {
+          "crates_score_tooling__serde-1.0.229": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10398,10 +10723,10 @@
                 "https://static.crates.io/crates/serde/1.0.229/download"
               ],
               "strip_prefix": "serde-1.0.229",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde\",\n    deps = [\n        \"@crates__serde-1.0.229//:build_script_build\",\n        \"@crates__serde_core-1.0.229//:serde_core\",\n    ],\n    proc_macro_deps = [\n        \"@crates__serde_derive-1.0.229//:serde_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"derive\",\n        \"rc\",\n        \"serde_derive\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"derive\",\n        \"rc\",\n        \"serde_derive\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.229\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde\",\n    deps = [\n        \"@crates_score_tooling__serde-1.0.229//:build_script_build\",\n        \"@crates_score_tooling__serde_core-1.0.229//:serde_core\",\n    ],\n    proc_macro_deps = [\n        \"@crates_score_tooling__serde_derive-1.0.229//:serde_derive\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"derive\",\n        \"rc\",\n        \"serde_derive\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"derive\",\n        \"rc\",\n        \"serde_derive\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.229\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__serde_core-1.0.229": {
+          "crates_score_tooling__serde_core-1.0.229": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10414,10 +10739,10 @@
                 "https://static.crates.io/crates/serde_core/1.0.229/download"
               ],
               "strip_prefix": "serde_core-1.0.229",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_core\",\n    deps = [\n        \"@crates__serde_core-1.0.229//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"rc\",\n        \"result\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"rc\",\n        \"result\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde_core\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.229\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_core\",\n    deps = [\n        \"@crates_score_tooling__serde_core-1.0.229//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"rc\",\n        \"result\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"rc\",\n        \"result\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde_core\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.229\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__serde_derive-1.0.229": {
+          "crates_score_tooling__serde_derive-1.0.229": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10430,10 +10755,10 @@
                 "https://static.crates.io/crates/serde_derive/1.0.229/download"
               ],
               "strip_prefix": "serde_derive-1.0.229",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"serde_derive\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"serde_derive\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__syn-3.0.8//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_derive\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.229\",\n)\n"
             }
           },
-          "crates__serde_json-1.0.154": {
+          "crates_score_tooling__serde_json-1.0.154": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10446,10 +10771,10 @@
                 "https://static.crates.io/crates/serde_json/1.0.154/download"
               ],
               "strip_prefix": "serde_json-1.0.154",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_json\",\n    deps = [\n        \"@crates__foldhash-0.2.0//:foldhash\",\n        \"@crates__indexmap-2.14.2//:indexmap\",\n        \"@crates__itoa-1.0.18//:itoa\",\n        \"@crates__memchr-2.8.3//:memchr\",\n        \"@crates__serde_core-1.0.229//:serde_core\",\n        \"@crates__serde_json-1.0.154//:build_script_build\",\n        \"@crates__zmij-1.0.23//:zmij\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"indexmap\",\n        \"preserve_order\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_json\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.154\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"indexmap\",\n        \"preserve_order\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde_json\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_json\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.154\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_json\",\n    deps = [\n        \"@crates_score_tooling__foldhash-0.2.0//:foldhash\",\n        \"@crates_score_tooling__indexmap-2.14.2//:indexmap\",\n        \"@crates_score_tooling__itoa-1.0.18//:itoa\",\n        \"@crates_score_tooling__memchr-2.8.3//:memchr\",\n        \"@crates_score_tooling__serde_core-1.0.229//:serde_core\",\n        \"@crates_score_tooling__serde_json-1.0.154//:build_script_build\",\n        \"@crates_score_tooling__zmij-1.0.23//:zmij\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"indexmap\",\n        \"preserve_order\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_json\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.154\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"indexmap\",\n        \"preserve_order\",\n        \"std\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"serde_json\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_json\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.154\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__serde_yaml-0.9.34-deprecated": {
+          "crates_score_tooling__serde_yaml-0.9.34-deprecated": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10462,42 +10787,10 @@
                 "https://static.crates.io/crates/serde_yaml/0.9.34+deprecated/download"
               ],
               "strip_prefix": "serde_yaml-0.9.34+deprecated",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_yaml\",\n    deps = [\n        \"@crates__indexmap-2.14.2//:indexmap\",\n        \"@crates__itoa-1.0.18//:itoa\",\n        \"@crates__ryu-1.0.23//:ryu\",\n        \"@crates__serde-1.0.229//:serde\",\n        \"@crates__unsafe-libyaml-0.2.11//:unsafe_libyaml\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_yaml\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.9.34+deprecated\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"serde_yaml\",\n    deps = [\n        \"@crates_score_tooling__indexmap-2.14.2//:indexmap\",\n        \"@crates_score_tooling__itoa-1.0.18//:itoa\",\n        \"@crates_score_tooling__ryu-1.0.23//:ryu\",\n        \"@crates_score_tooling__serde-1.0.229//:serde\",\n        \"@crates_score_tooling__unsafe-libyaml-0.2.11//:unsafe_libyaml\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=serde_yaml\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.9.34+deprecated\",\n)\n"
             }
           },
-          "crates__shlex-2.0.1": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/shlex/2.0.1/download"
-              ],
-              "strip_prefix": "shlex-2.0.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"shlex\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=shlex\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.1\",\n)\n"
-            }
-          },
-          "crates__stacker-0.1.25": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "707f49d46706bacf8a2b00d51dace3f9de527c13eec3778f570c411f89e69967",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/stacker/0.1.25/download"
-              ],
-              "strip_prefix": "stacker-0.1.25",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"stacker\",\n    deps = [\n        \"@crates__cfg-if-1.0.5//:cfg_if\",\n        \"@crates__libc-0.2.190//:libc\",\n        \"@crates__psm-0.1.24//:psm\",\n        \"@crates__stacker-0.1.25//:build_script_build\",\n    ] + select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__windows-sys-0.61.2//:windows_sys\",  # cfg(all(windows, not(target_arch = \"arm64ec\")))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=stacker\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.25\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crates__cc-1.8.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"stacker\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=stacker\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.1.25\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
-            }
-          },
-          "crates__strsim-0.11.1": {
+          "crates_score_tooling__strsim-0.11.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10513,7 +10806,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"strsim\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=strsim\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.1\",\n)\n"
             }
           },
-          "crates__syn-2.0.119": {
+          "crates_score_tooling__syn-2.0.119": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10526,10 +10819,10 @@
                 "https://static.crates.io/crates/syn/2.0.119/download"
               ],
               "strip_prefix": "syn-2.0.119",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.119\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.119\",\n)\n"
             }
           },
-          "crates__syn-3.0.8": {
+          "crates_score_tooling__syn-3.0.8": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10542,10 +10835,10 @@
                 "https://static.crates.io/crates/syn/3.0.8/download"
               ],
               "strip_prefix": "syn-3.0.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__unicode-ident-1.0.26//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"default\",\n        \"derive\",\n        \"full\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.8\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"syn\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__unicode-ident-1.0.27//:unicode_ident\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"clone-impls\",\n        \"derive\",\n        \"parsing\",\n        \"printing\",\n        \"proc-macro\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=syn\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"3.0.8\",\n)\n"
             }
           },
-          "crates__termcolor-1.4.1": {
+          "crates_score_tooling__termcolor-1.4.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10558,10 +10851,10 @@
                 "https://static.crates.io/crates/termcolor/1.4.1/download"
               ],
               "strip_prefix": "termcolor-1.4.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"termcolor\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__winapi-util-0.1.11//:winapi_util\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=termcolor\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.4.1\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"termcolor\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__winapi-util-0.1.11//:winapi_util\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=termcolor\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.4.1\",\n)\n"
             }
           },
-          "crates__thiserror-1.0.69": {
+          "crates_score_tooling__thiserror-1.0.69": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10574,10 +10867,10 @@
                 "https://static.crates.io/crates/thiserror/1.0.69/download"
               ],
               "strip_prefix": "thiserror-1.0.69",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"thiserror\",\n    deps = [\n        \"@crates__thiserror-1.0.69//:build_script_build\",\n    ],\n    proc_macro_deps = [\n        \"@crates__thiserror-impl-1.0.69//:thiserror_impl\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.69\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"thiserror\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.69\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"thiserror\",\n    deps = [\n        \"@crates_score_tooling__thiserror-1.0.69//:build_script_build\",\n    ],\n    proc_macro_deps = [\n        \"@crates_score_tooling__thiserror-impl-1.0.69//:thiserror_impl\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.69\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"thiserror\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.69\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crates__thiserror-impl-1.0.69": {
+          "crates_score_tooling__thiserror-impl-1.0.69": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10590,10 +10883,10 @@
                 "https://static.crates.io/crates/thiserror-impl/1.0.69/download"
               ],
               "strip_prefix": "thiserror-impl-1.0.69",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"thiserror_impl\",\n    deps = [\n        \"@crates__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates__quote-1.0.47//:quote\",\n        \"@crates__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror-impl\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.69\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"thiserror_impl\",\n    deps = [\n        \"@crates_score_tooling__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crates_score_tooling__quote-1.0.47//:quote\",\n        \"@crates_score_tooling__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=thiserror-impl\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.69\",\n)\n"
             }
           },
-          "crates__ucd-trie-0.1.7": {
+          "crates_score_tooling__ucd-trie-0.1.7": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10609,23 +10902,23 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"ucd_trie\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=ucd-trie\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.7\",\n)\n"
             }
           },
-          "crates__unicode-ident-1.0.26": {
+          "crates_score_tooling__unicode-ident-1.0.27": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954",
+              "sha256": "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/unicode-ident/1.0.26/download"
+                "https://static.crates.io/crates/unicode-ident/1.0.27/download"
               ],
-              "strip_prefix": "unicode-ident-1.0.26",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_ident\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-ident\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.26\",\n)\n"
+              "strip_prefix": "unicode-ident-1.0.27",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unicode_ident\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unicode-ident\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.27\",\n)\n"
             }
           },
-          "crates__unsafe-libyaml-0.2.11": {
+          "crates_score_tooling__unsafe-libyaml-0.2.11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10641,7 +10934,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unsafe_libyaml\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unsafe-libyaml\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.11\",\n)\n"
             }
           },
-          "crates__utf8parse-0.2.2": {
+          "crates_score_tooling__utf8parse-0.2.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10657,7 +10950,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf8parse\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf8parse\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.2\",\n)\n"
             }
           },
-          "crates__winapi-util-0.1.11": {
+          "crates_score_tooling__winapi-util-0.1.11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10670,10 +10963,10 @@
                 "https://static.crates.io/crates/winapi-util/0.1.11/download"
               ],
               "strip_prefix": "winapi-util-0.1.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"winapi_util\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=winapi-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.11\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"winapi_util\",\n    deps = select({\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n            \"@crates_score_tooling__windows-sys-0.61.2//:windows_sys\",  # cfg(windows)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=winapi-util\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.11\",\n)\n"
             }
           },
-          "crates__windows-link-0.2.1": {
+          "crates_score_tooling__windows-link-0.2.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10689,7 +10982,7 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"windows_link\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=windows-link\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.1\",\n)\n"
             }
           },
-          "crates__windows-sys-0.61.2": {
+          "crates_score_tooling__windows-sys-0.61.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10702,10 +10995,10 @@
                 "https://static.crates.io/crates/windows-sys/0.61.2/download"
               ],
               "strip_prefix": "windows-sys-0.61.2",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"windows_sys\",\n    deps = [\n        \"@crates__windows-link-0.2.1//:windows_link\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"Win32\",\n        \"Win32_Foundation\",\n        \"Win32_Storage\",\n        \"Win32_Storage_FileSystem\",\n        \"Win32_System\",\n        \"Win32_System_Console\",\n        \"Win32_System_Memory\",\n        \"Win32_System_SystemInformation\",\n        \"Win32_System_Threading\",\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=windows-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.61.2\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"windows_sys\",\n    deps = [\n        \"@crates_score_tooling__windows-link-0.2.1//:windows_link\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"Win32\",\n        \"Win32_Foundation\",\n        \"Win32_Storage\",\n        \"Win32_Storage_FileSystem\",\n        \"Win32_System\",\n        \"Win32_System_Console\",\n        \"Win32_System_SystemInformation\",\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=windows-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.61.2\",\n)\n"
             }
           },
-          "crates__zmij-1.0.23": {
+          "crates_score_tooling__zmij-1.0.23": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
@@ -10718,7 +11011,7 @@
                 "https://static.crates.io/crates/zmij/1.0.23/download"
               ],
               "strip_prefix": "zmij-1.0.23",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zmij\",\n    deps = [\n        \"@crates__zmij-1.0.23//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.23\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zmij\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.23\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zmij\",\n    deps = [\n        \"@crates_score_tooling__zmij-1.0.23//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.23\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zmij\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.23\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           }
         },
@@ -10943,6 +11236,165 @@
         ]
       }
     },
+    "@@rules_swift+//swift:extensions.bzl%non_module_deps": {
+      "general": {
+        "bzlTransitiveDigest": "6axDCXf6fQoPav8hojnUBxGA0FAMqLvtpC1cRsisCdw=",
+        "usagesDigest": "mhACFnrdMv9Wi0Mt67bxocJqviRkDSV+Ee5Mqdj5akA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "com_github_apple_swift_protobuf": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz"
+              ],
+              "sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb",
+              "strip_prefix": "swift-protobuf-1.20.2/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay"
+            }
+          },
+          "com_github_grpc_grpc_swift": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz"
+              ],
+              "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5",
+              "strip_prefix": "grpc-swift-1.16.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_docc_symbolkit": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-docc-symbolkit/archive/refs/tags/swift-5.10-RELEASE.tar.gz"
+              ],
+              "sha256": "de1d4b6940468ddb53b89df7aa1a81323b9712775b0e33e8254fa0f6f7469a97",
+              "strip_prefix": "swift-docc-symbolkit-swift-5.10-RELEASE",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_docc_symbolkit/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_nio": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz"
+              ],
+              "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0",
+              "strip_prefix": "swift-nio-2.42.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_nio_http2": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz"
+              ],
+              "sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25",
+              "strip_prefix": "swift-nio-http2-1.26.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_nio_transport_services": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz"
+              ],
+              "sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262",
+              "strip_prefix": "swift-nio-transport-services-1.15.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_nio_extras": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz"
+              ],
+              "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b",
+              "strip_prefix": "swift-nio-extras-1.4.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_log": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-log/archive/1.4.4.tar.gz"
+              ],
+              "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0",
+              "strip_prefix": "swift-log-1.4.4/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_nio_ssl": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz"
+              ],
+              "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d",
+              "strip_prefix": "swift-nio-ssl-2.23.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_collections": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-collections/archive/1.0.4.tar.gz"
+              ],
+              "sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096",
+              "strip_prefix": "swift-collections-1.0.4/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay"
+            }
+          },
+          "com_github_apple_swift_atomics": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "urls": [
+                "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz"
+              ],
+              "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb",
+              "strip_prefix": "swift-atomics-1.1.0/",
+              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay"
+            }
+          },
+          "build_bazel_rules_swift_index_import": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay",
+              "canonical_id": "index-import-5.8",
+              "urls": [
+                "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz"
+              ],
+              "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15"
+            }
+          },
+          "build_bazel_rules_swift_local_config": {
+            "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration",
+            "attributes": {}
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_swift+",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_swift+",
+            "build_bazel_rules_swift",
+            "rules_swift+"
+          ]
+        ]
+      }
+    },
     "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": {
       "general": {
         "bzlTransitiveDigest": "4I0YNPbDgLY5CojGj/bUi9kZkZnU0EDjGFyT8XcfAc4=",
@@ -11731,6 +12183,60 @@
   },
   "facts": {
     "@@rules_go+//go:extensions.bzl%go_sdk": {
+      "1.19.1": {
+        "darwin_amd64": [
+          "go1.19.1.darwin-amd64.tar.gz",
+          "b2828a2b05f0d2169afc74c11ed010775bf7cf0061822b275697b2f470495fb7"
+        ],
+        "darwin_arm64": [
+          "go1.19.1.darwin-arm64.tar.gz",
+          "e46aecce83a9289be16ce4ba9b8478a5b89b8aa0230171d5c6adbc0c66640548"
+        ],
+        "freebsd_386": [
+          "go1.19.1.freebsd-386.tar.gz",
+          "cfaca8c1d5784d2bc21e12d8893cfd2dc885a60db4c1a9a95e4ffc694d0925ce"
+        ],
+        "freebsd_amd64": [
+          "go1.19.1.freebsd-amd64.tar.gz",
+          "db5b8f232e12c655cc6cde6af1adf4d27d842541807802d747c86161e89efa0a"
+        ],
+        "linux_386": [
+          "go1.19.1.linux-386.tar.gz",
+          "9acc57342400c5b0c2da07b5b01b50da239dd4a7fad41a1fb56af8363ef4133f"
+        ],
+        "linux_amd64": [
+          "go1.19.1.linux-amd64.tar.gz",
+          "acc512fbab4f716a8f97a8b3fbaa9ddd39606a28be6c2515ef7c6c6311acffde"
+        ],
+        "linux_arm64": [
+          "go1.19.1.linux-arm64.tar.gz",
+          "49960821948b9c6b14041430890eccee58c76b52e2dbaafce971c3c38d43df9f"
+        ],
+        "linux_armv6l": [
+          "go1.19.1.linux-armv6l.tar.gz",
+          "efe93f5671621ee84ce5e262e1e21acbc72acefbaba360f21778abd083d4ad16"
+        ],
+        "linux_ppc64le": [
+          "go1.19.1.linux-ppc64le.tar.gz",
+          "4137984aa353de9c5ec1bd8fb3cd00a0624b75eafa3d4ec13d2f3f48261dba2e"
+        ],
+        "linux_s390x": [
+          "go1.19.1.linux-s390x.tar.gz",
+          "ca1005cc80a3dd726536b4c6ea5fef0318939351ff273eff420bd66a377c74eb"
+        ],
+        "windows_386": [
+          "go1.19.1.windows-386.zip",
+          "bc7043e7a9a8d34aacd06f8c2f70e166d1d148f6800814cff790c45b9ab31cee"
+        ],
+        "windows_amd64": [
+          "go1.19.1.windows-amd64.zip",
+          "b33584c1d93b0e9c783de876b7aa99d3018bdeccd396aeb6d516a74e9d88d55f"
+        ],
+        "windows_arm64": [
+          "go1.19.1.windows-arm64.zip",
+          "d8cf3f04762fa7d5d9c82dfa15b5adaae2404463af3bc8dcd7f89837512501fe"
+        ]
+      },
       "1.20.2": {
         "darwin_amd64": [
           "go1.20.2.darwin-amd64.tar.gz",
@@ -11785,6 +12291,164 @@
           "ac5010c8b8b22849228a8dea698d58b9c7be2195d30c6d778cce0f709858fa64"
         ]
       },
+      "1.21.1": {
+        "aix_ppc64": [
+          "go1.21.1.aix-ppc64.tar.gz",
+          "ad5c160e2ff7989f818572f2391ca000d587569ff68d8591a695382a863719d0"
+        ],
+        "darwin_amd64": [
+          "go1.21.1.darwin-amd64.tar.gz",
+          "809f5b0ef4f7dcdd5f51e9630a5b2e5a1006f22a047126d61560cdc365678a19"
+        ],
+        "darwin_arm64": [
+          "go1.21.1.darwin-arm64.tar.gz",
+          "ffd40391a1e995855488b008ad9326ff8c2e81803a6e80894401003bae47fcf1"
+        ],
+        "dragonfly_amd64": [
+          "go1.21.1.dragonfly-amd64.tar.gz",
+          "646f5db8ba479032aea07c597ccd187bc75c161f18e7a1785c62ab8cb103cb3e"
+        ],
+        "freebsd_386": [
+          "go1.21.1.freebsd-386.tar.gz",
+          "9919a9a4dc82371aba3da5b7c830bcb6249fc1502cd26d959eb340a60e41ee01"
+        ],
+        "freebsd_amd64": [
+          "go1.21.1.freebsd-amd64.tar.gz",
+          "2571f10f6047e04d87c1f5986a05e5e8f7b511faf98803ef12b66d563845d2a1"
+        ],
+        "freebsd_arm64": [
+          "go1.21.1.freebsd-arm64.tar.gz",
+          "4946118e72deccf194a9bfcfedbafe52e45b5fe9441fd3acfced760b27a20f9a"
+        ],
+        "freebsd_armv6l": [
+          "go1.21.1.freebsd-arm.tar.gz",
+          "6d4dab314ed6adff68a74e3bce516e36fd89c7bf4523c2c105f96e04933fc982"
+        ],
+        "freebsd_riscv64": [
+          "go1.21.1.freebsd-riscv64.tar.gz",
+          "591bd28e2dac581facb20c1529f8c29590d7eaaccbcdc93d12a234461b7bfe89"
+        ],
+        "illumos_amd64": [
+          "go1.21.1.illumos-amd64.tar.gz",
+          "829548b591675df5f113317ac011bfc3381da7a96bd6a1c748694370818b4497"
+        ],
+        "linux_386": [
+          "go1.21.1.linux-386.tar.gz",
+          "b93850666cdadbd696a986cf7b03111fe99db8c34a9aaa113d7c96d0081e1901"
+        ],
+        "linux_amd64": [
+          "go1.21.1.linux-amd64.tar.gz",
+          "b3075ae1ce5dab85f89bc7905d1632de23ca196bd8336afd93fa97434cfa55ae"
+        ],
+        "linux_arm64": [
+          "go1.21.1.linux-arm64.tar.gz",
+          "7da1a3936a928fd0b2602ed4f3ef535b8cd1990f1503b8d3e1acc0fa0759c967"
+        ],
+        "linux_armv6l": [
+          "go1.21.1.linux-armv6l.tar.gz",
+          "f3716a43f59ae69999841d6007b42c9e286e8d8ce470656fb3e70d7be2d7ca85"
+        ],
+        "linux_loong64": [
+          "go1.21.1.linux-loong64.tar.gz",
+          "2273cc4ed398d8b341aee01fd62f3845045b2f439b84b28720a7f3d3552f5d41"
+        ],
+        "linux_mips": [
+          "go1.21.1.linux-mips.tar.gz",
+          "2ba529210bae7ba7b8c48b0084f713b41e8c109ae75637820fd5b72be9f3faff"
+        ],
+        "linux_mips64": [
+          "go1.21.1.linux-mips64.tar.gz",
+          "f2cef18856b17cc5c81cc8b0a35b1ca08d2b04d4b88adc07d190560cb464e2f6"
+        ],
+        "linux_mips64le": [
+          "go1.21.1.linux-mips64le.tar.gz",
+          "3aa007a41f533b50eae2491bbd29926ada09357367a8aa05e7e50ec50c78acf9"
+        ],
+        "linux_mipsle": [
+          "go1.21.1.linux-mipsle.tar.gz",
+          "c0059f49c3ea31bebe972f47d460d49addb78641081a7000e79e730464bcce95"
+        ],
+        "linux_ppc64": [
+          "go1.21.1.linux-ppc64.tar.gz",
+          "6871fd3e6dae3897112dc4a98988406461ef1018f4a17c87689d977eba8dbf20"
+        ],
+        "linux_ppc64le": [
+          "go1.21.1.linux-ppc64le.tar.gz",
+          "eddf018206f8a5589bda75252b72716d26611efebabdca5d0083ec15e9e41ab7"
+        ],
+        "linux_riscv64": [
+          "go1.21.1.linux-riscv64.tar.gz",
+          "fac64ed26e003f49f1d77f6d2c4cf951422aecbce12232d9ec1bf4585fc44ee1"
+        ],
+        "linux_s390x": [
+          "go1.21.1.linux-s390x.tar.gz",
+          "a83b3e8eb4dbf76294e773055eb51397510ff4d612a247bad9903560267bba6d"
+        ],
+        "netbsd_386": [
+          "go1.21.1.netbsd-386.tar.gz",
+          "c919f2ba4755e6aebeea6e7f19abf1c5ed13d37c2930867d10a86adfd0686eba"
+        ],
+        "netbsd_amd64": [
+          "go1.21.1.netbsd-amd64.tar.gz",
+          "b2dd9913063caa2b5f960e8ebc6c225293b4155e9ebd88d43afd55bb81ca8931"
+        ],
+        "netbsd_arm64": [
+          "go1.21.1.netbsd-arm64.tar.gz",
+          "5d245ac932d421389c1bfcedc38733367ae407dbdc162a6e7bfca5677fb15269"
+        ],
+        "netbsd_armv6l": [
+          "go1.21.1.netbsd-arm.tar.gz",
+          "4d1756a9845917b07c8ec4999b8e019a2bd2a8b3d5d16da5da0ef3ce84d2139c"
+        ],
+        "openbsd_386": [
+          "go1.21.1.openbsd-386.tar.gz",
+          "ce094e551227522aaf3111a94a7f115c5a2b4f862c42d349026503544a40fb96"
+        ],
+        "openbsd_amd64": [
+          "go1.21.1.openbsd-amd64.tar.gz",
+          "321c31c42131db2bd0e9d67dd98450f55b281e8e6d8eb681594c39e6688ccbb2"
+        ],
+        "openbsd_arm64": [
+          "go1.21.1.openbsd-arm64.tar.gz",
+          "4d65bcb383895be8d6c05507f2b410e15448b0610e1f5fb23ece9ff4e045f7a8"
+        ],
+        "openbsd_armv6l": [
+          "go1.21.1.openbsd-arm.tar.gz",
+          "481254b99b9861b65c9eaab137af15311fca618f9f17f2bd872795368c726666"
+        ],
+        "plan9_386": [
+          "go1.21.1.plan9-386.tar.gz",
+          "93ea25cbb8063cd4d5917b8ca58a72c26b6cb9e6c1d785e30867ae8ad8290484"
+        ],
+        "plan9_amd64": [
+          "go1.21.1.plan9-amd64.tar.gz",
+          "14d61633059651d12cc02b2f53739016f1b07063a4140147e44a196413950553"
+        ],
+        "plan9_armv6l": [
+          "go1.21.1.plan9-arm.tar.gz",
+          "adfacbcfb5e7415802187fb6aa8b5397d589fdedcd5d0eac3b86352da7390603"
+        ],
+        "solaris_amd64": [
+          "go1.21.1.solaris-amd64.tar.gz",
+          "b86a223e52e41de3ff180f90f1d7e705d30f96271f9a81005e20f25be2658990"
+        ],
+        "windows_386": [
+          "go1.21.1.windows-386.zip",
+          "170256c820f466f29d64876f25f4dfa4029ed9902a0a9095d8bd603aecf4d83b"
+        ],
+        "windows_amd64": [
+          "go1.21.1.windows-amd64.zip",
+          "10a4f5b63215d11d1770453733dbcbf024f3f74872f84e28d7ea59f0250316c6"
+        ],
+        "windows_arm64": [
+          "go1.21.1.windows-arm64.zip",
+          "41135ce6e0ced4bc1e459cb96bd4090c9dc2062e24179c3f337d855af9b560ef"
+        ],
+        "windows_armv6l": [
+          "go1.21.1.windows-arm.zip",
+          "d7a2472999a80dbf6bbcb6783a2b4299916055473263117295022f18e7fad487"
+        ]
+      },
       "1.22.0": {
         "aix_ppc64": [
           "go1.22.0.aix-ppc64.tar.gz",
@@ -12428,6 +13092,164 @@
           "go1.25.0.windows-arm64.zip",
           "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c"
         ]
+      },
+      "1.26.7": {
+        "aix_ppc64": [
+          "go1.26.7.aix-ppc64.tar.gz",
+          "e5aed98bc83f569a374dbfd79d632b058e5130192fbd4c4ee0d4f6e3d9c101bb"
+        ],
+        "darwin_amd64": [
+          "go1.26.7.darwin-amd64.tar.gz",
+          "92e8b34bff3c89ab16404c595669ac8cb004cc2f676dcbd1f5b87a6b8def3b47"
+        ],
+        "darwin_arm64": [
+          "go1.26.7.darwin-arm64.tar.gz",
+          "020a1e8224811be75163e920bc77e0926a1390a6aeea19bdcf23f74b9d749f6d"
+        ],
+        "dragonfly_amd64": [
+          "go1.26.7.dragonfly-amd64.tar.gz",
+          "d980dc9ecc48de09b2fa1765886abb8c7b0ad738bf8cc483b76019facc2df4d1"
+        ],
+        "freebsd_386": [
+          "go1.26.7.freebsd-386.tar.gz",
+          "7eecfa4d6c126bcdedb8e16583ec672857e607659c672c60a9d645f8957da117"
+        ],
+        "freebsd_amd64": [
+          "go1.26.7.freebsd-amd64.tar.gz",
+          "2ad37146fa8449907716b494dd268aeae6f79592b875915525c28c8c337ad32a"
+        ],
+        "freebsd_arm": [
+          "go1.26.7.freebsd-arm.tar.gz",
+          "bc56379ed419cd93cf7002dcb95f554b3e3a2bd58d804182f8873e313a870b70"
+        ],
+        "freebsd_arm64": [
+          "go1.26.7.freebsd-arm64.tar.gz",
+          "23d425a3a51876df8bf050f080b1ae50340048def689fbcc44c939fa23485ce0"
+        ],
+        "illumos_amd64": [
+          "go1.26.7.illumos-amd64.tar.gz",
+          "be51df2411786e1fa6325461e509224a94c5e8d001da8e4548d9e028a53a3c22"
+        ],
+        "linux_386": [
+          "go1.26.7.linux-386.tar.gz",
+          "5b6fad4a7fe8fa230c935625b67450305be95e2f4f976b731623f76b88fc4821"
+        ],
+        "linux_amd64": [
+          "go1.26.7.linux-amd64.tar.gz",
+          "ffb5f8de10c62550dfddab66b36b57030721e0a44a3218e9e1181d7b59f121ca"
+        ],
+        "linux_arm64": [
+          "go1.26.7.linux-arm64.tar.gz",
+          "5a4ec883379d51ee9ce1040d5e87f8d35e20387574dd8c947feb01eabc3c1b37"
+        ],
+        "linux_armv6l": [
+          "go1.26.7.linux-armv6l.tar.gz",
+          "6a41557335d1d9fa9bfc7439cedcfd0e4df2fc83d916175b5f3eae4685f5fe3f"
+        ],
+        "linux_loong64": [
+          "go1.26.7.linux-loong64.tar.gz",
+          "89b5e92446e719719e23db447a41860d7d573252bab0704c9acb09ad97e9eca1"
+        ],
+        "linux_mips": [
+          "go1.26.7.linux-mips.tar.gz",
+          "fbdbf78b04494843fde47b15150e12adb7e2c0e2289eacbc18e6629a99604620"
+        ],
+        "linux_mips64": [
+          "go1.26.7.linux-mips64.tar.gz",
+          "93b1360a29f4a71dbb6995f149b9312f67f5ce52197fea0042e9c9423809a496"
+        ],
+        "linux_mips64le": [
+          "go1.26.7.linux-mips64le.tar.gz",
+          "402dd2bd57fb4c982ef0eccbb4f7209ae98a753856e99baf962f1ac54493d65d"
+        ],
+        "linux_mipsle": [
+          "go1.26.7.linux-mipsle.tar.gz",
+          "967da58e88c45c401593a8552be9beedaa989a3484a3105850d2beb6ca9ed698"
+        ],
+        "linux_ppc64": [
+          "go1.26.7.linux-ppc64.tar.gz",
+          "8feee58b3fa8d270343519d10d66736150e627d39aee937e6e889ba5445c8be9"
+        ],
+        "linux_ppc64le": [
+          "go1.26.7.linux-ppc64le.tar.gz",
+          "22d3b362d557175fd16b79651cab0cad64f8aaaedca745f66d16f44d56bc5de1"
+        ],
+        "linux_riscv64": [
+          "go1.26.7.linux-riscv64.tar.gz",
+          "21e1dc0e2f7dd9f80e0e94613fc324f1f99403b99997f9d8c5f80f8132fc642b"
+        ],
+        "linux_s390x": [
+          "go1.26.7.linux-s390x.tar.gz",
+          "bc3308e05e9397958ad4aac453e3dc4565ba6d548e9ace0a9b4b165feb6382f2"
+        ],
+        "netbsd_386": [
+          "go1.26.7.netbsd-386.tar.gz",
+          "c0a28bd30d8c07966cf7bc43fc6936866fb1a0e84ab4e983d4e8ca15edc1a4d1"
+        ],
+        "netbsd_amd64": [
+          "go1.26.7.netbsd-amd64.tar.gz",
+          "dff0b16d129f5e70f3bb38ed98d467404b5b130c7c8b3fe6b074601855f2bcd5"
+        ],
+        "netbsd_arm": [
+          "go1.26.7.netbsd-arm.tar.gz",
+          "36d15f8c5c5a5a048251b39ce67ed5a7ae2d072f1aa5c301cbde110670e824b2"
+        ],
+        "netbsd_arm64": [
+          "go1.26.7.netbsd-arm64.tar.gz",
+          "b75802b366e5b60aa6cfded871f0a72abadf297c5a68c523c5857822a5b92d34"
+        ],
+        "openbsd_386": [
+          "go1.26.7.openbsd-386.tar.gz",
+          "c26201688339b2a10bf980be2d64adfd3a383b31a164377b0123ad78bde6979c"
+        ],
+        "openbsd_amd64": [
+          "go1.26.7.openbsd-amd64.tar.gz",
+          "562de088b844764029f59ff52e82218711a4b585ab7ae175b88eff53e051a8df"
+        ],
+        "openbsd_arm": [
+          "go1.26.7.openbsd-arm.tar.gz",
+          "646e19cd3449aec767bf75622d368b02c73d529a5478a25f2a7e21148b1a4cb6"
+        ],
+        "openbsd_arm64": [
+          "go1.26.7.openbsd-arm64.tar.gz",
+          "2045303632e112290e939dfd4678401109f612f7913f459e2d7d079e750723f5"
+        ],
+        "openbsd_ppc64": [
+          "go1.26.7.openbsd-ppc64.tar.gz",
+          "23e89de68225dc41dd981601602e67fab0c4ca87af8f70a25131c06a301f9000"
+        ],
+        "openbsd_riscv64": [
+          "go1.26.7.openbsd-riscv64.tar.gz",
+          "c0de2c6c353a582ca7682ed5a550056a8b5d59649260da4d1e327cf96684c822"
+        ],
+        "plan9_386": [
+          "go1.26.7.plan9-386.tar.gz",
+          "14ae7414a2ea05d26e1fc499d9b372c7f8f17726c49a5222fa9063b0f752a22c"
+        ],
+        "plan9_amd64": [
+          "go1.26.7.plan9-amd64.tar.gz",
+          "f9459b8137bdb81621d4e0cdba4c849a617c89c11a3088083ad3a8c97467c6a5"
+        ],
+        "plan9_arm": [
+          "go1.26.7.plan9-arm.tar.gz",
+          "4f444bd2e0f8a08ba8799131dd3531bea8723bf96b8ffa0e0948936a3c4aa8f0"
+        ],
+        "solaris_amd64": [
+          "go1.26.7.solaris-amd64.tar.gz",
+          "04b5b280e0e0de1b91d7da5e34801dbf75e5621615f80cfd9935091d673f1238"
+        ],
+        "windows_386": [
+          "go1.26.7.windows-386.zip",
+          "59cf0b9814c41c960d70df3cd5360fda0793e5d2230737d58e009392181fb636"
+        ],
+        "windows_amd64": [
+          "go1.26.7.windows-amd64.zip",
+          "f4f534a486e4bc3387fa18f08208f2f854b7aaea8a08f2a2d829a914a05abb11"
+        ],
+        "windows_arm64": [
+          "go1.26.7.windows-arm64.zip",
+          "6f1b08de9e2dd94f69c52e524ab6834737275253291e8fd7f1c12ed4eceeda89"
+        ]
       }
     }
   }
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index a394cafa2d2..0cd9ada72ec 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -29,14 +29,10 @@ single_version_override(
 bazel_dep(name = "score_communication")
 git_override(
     module_name = "score_communication",
-    commit = "313f1178628189d267c8cd0d75971bdac04c20ee",
+    commit = "cea38c1f8404049b20645a63a740e5f57362eae4",
     patch_strip = 1,
     patches = [
         "//patches/communication:001-expose-comm-examples.patch",
-        "//patches/communication:003-module-deps-visibility.patch",
-        "//patches/communication:004-rules-build-error-not-dev-dependency.patch",
-        "//patches/communication:005-migrate-baselibs-rust-targets.patch",
-        "//patches/communication:006-add-safe-math-dep.patch",
     ],
     remote = "https://github.com/eclipse-score/communication.git",
 )
diff --git a/bazel_common/score_modules_tooling.MODULE.bazel b/bazel_common/score_modules_tooling.MODULE.bazel
index 94a6b65f67c..84eca1165b1 100644
--- a/bazel_common/score_modules_tooling.MODULE.bazel
+++ b/bazel_common/score_modules_tooling.MODULE.bazel
@@ -37,7 +37,7 @@ git_override(
 bazel_dep(name = "score_tooling")
 git_override(
     module_name = "score_tooling",
-    commit = "026e0983a9d65454b449199557ab655f82f5e81a",
+    commit = "a3eed5852f8addbbbf276aaae262ba1313141ef5",
     remote = "https://github.com/eclipse-score/tooling.git",
 )
 
diff --git a/known_good.json b/known_good.json
index 207e41fc540..5449e473c3a 100644
--- a/known_good.json
+++ b/known_good.json
@@ -40,13 +40,9 @@
             "score_communication": {
                 "repo": "https://github.com/eclipse-score/communication.git",
                 "docs": false,
-                "hash": "313f1178628189d267c8cd0d75971bdac04c20ee",
+                "hash": "cea38c1f8404049b20645a63a740e5f57362eae4",
                 "bazel_patches": [
-                    "//patches/communication:001-expose-comm-examples.patch",
-                    "//patches/communication:003-module-deps-visibility.patch",
-                    "//patches/communication:004-rules-build-error-not-dev-dependency.patch",
-                    "//patches/communication:005-migrate-baselibs-rust-targets.patch",
-                    "//patches/communication:006-add-safe-math-dep.patch"
+                    "//patches/communication:001-expose-comm-examples.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/mw/com/impl/...",
@@ -58,7 +54,6 @@
                         "//score/mw/com/impl:runtime_test",
                         "//score/mw/com/impl/configuration:config_parser_test",
                         "//score/mw/com/impl/configuration:configuration_test",
-                        "//score/mw/com/impl/configuration:configuration_json_parsing_strategy_test",
                         "//score/mw/com/impl/tracing/configuration:tracing_filter_config_parser_test",
                         "//score/mw/com/impl/tracing:tracing_runtime_test",
                         "//score/mw/com/impl/bindings/lola/tracing:tracing_runtime_test",
@@ -292,7 +287,7 @@
             "score_tooling": {
                 "repo": "https://github.com/eclipse-score/tooling.git",
                 "docs": false,
-                "hash": "026e0983a9d65454b449199557ab655f82f5e81a"
+                "hash": "a3eed5852f8addbbbf276aaae262ba1313141ef5"
             },
             "score_platform": {
                 "repo": "https://github.com/eclipse-score/score.git",
diff --git a/patches/communication/001-expose-comm-examples.patch b/patches/communication/001-expose-comm-examples.patch
index 461e9cde40a..79a2554e969 100644
--- a/patches/communication/001-expose-comm-examples.patch
+++ b/patches/communication/001-expose-comm-examples.patch
@@ -3,11 +3,23 @@ integration showcase bundle. Upstream dropped the public visibility on the
 rust_binary, and the config file was never exported. The visibility guard golden
 lists the now-public binary.
 
+diff --git a/quality/visibility_guard/public_targets.golden b/quality/visibility_guard/public_targets.golden
+index be9bc4be..008ccd37 100644
+--- a/quality/visibility_guard/public_targets.golden
++++ b/quality/visibility_guard/public_targets.golden
+@@ -53,6 +53,7 @@
+ //score/mw/com/dependability:mw_com_doc_needs
+ //score/mw/com/dependability:mw_com_index
+ //score/mw/com/dependability:mw_com_rst
++//score/mw/com/example/com-api-example:com-api-example
+ //score/mw/com/impl/configuration/converter:json_to_flatbuffer_rule.bzl
+ //score/mw/com/performance_benchmarks/macro_benchmark/config_generator:config_generator_rule.bzl
+ //score/mw/com/performance_benchmarks/macro_benchmark:logging.json
 diff --git a/score/mw/com/example/com-api-example/BUILD b/score/mw/com/example/com-api-example/BUILD
-index 10e02502..a4273bf8 100644
+index 83448e5e..93c0abf5 100644
 --- a/score/mw/com/example/com-api-example/BUILD
 +++ b/score/mw/com/example/com-api-example/BUILD
-@@ -40,6 +40,7 @@ rust_binary(
+@@ -38,6 +38,7 @@ rust_binary(
          "MW_LOG_CONFIG_FILE": "score/mw/com/example/com-api-example/etc/logging.json",
      },
      features = ["link_std_cpp_lib"],
@@ -15,7 +27,7 @@ index 10e02502..a4273bf8 100644
      deps = [
          ":com-api-example-lib",
          "//score/mw/com/example/com-api-example/com-api-gen",
-@@ -65,3 +66,7 @@ rust_test(
+@@ -72,3 +73,7 @@ rust_test(
          "@score_communication_crate_index//:tokio",
      ],
  )
@@ -23,14 +35,3 @@ index 10e02502..a4273bf8 100644
 +exports_files([
 +    "etc/mw_com_config.json",
 +])
-diff --git a/quality/visibility_guard/public_targets.golden b/quality/visibility_guard/public_targets.golden
---- a/quality/visibility_guard/public_targets.golden
-+++ b/quality/visibility_guard/public_targets.golden
-@@ -54,6 +54,7 @@
- //score/mw/com/dependability:mw_com_doc_needs
- //score/mw/com/dependability:mw_com_index
- //score/mw/com/dependability:mw_com_rst
-+//score/mw/com/example/com-api-example:com-api-example
- //score/mw/com/performance_benchmarks/macro_benchmark/config_generator:config_generator_rule.bzl
- //score/mw/com/performance_benchmarks/macro_benchmark:logging.json
- //score/mw/com/performance_benchmarks/macro_benchmark:lola_benchmarking_client
diff --git a/patches/communication/003-module-deps-visibility.patch b/patches/communication/003-module-deps-visibility.patch
deleted file mode 100644
index 1a5c89e06f7..00000000000
--- a/patches/communication/003-module-deps-visibility.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/MODULE.bazel b/MODULE.bazel
---- a/MODULE.bazel
-+++ b/MODULE.bazel
-@@ -395,7 +395,6 @@ git_override(
- download_archive(
-     name = "json_schema_validator",
-     build = "//third_party/json_schema_validator:json_schema_validator.BUILD",
--    dev_dependency = True,
-     integrity = "sha256-g/YdgRL0heDT8ectUWELo5JLF5kmqDdq7zwDh3D68gI=",
-     strip_prefix = "json-schema-validator-2.1.0",
-     urls = ["https://github.com/pboettch/json-schema-validator/archive/refs/tags/2.1.0.tar.gz"],
diff --git a/patches/communication/004-rules-build-error-not-dev-dependency.patch b/patches/communication/004-rules-build-error-not-dev-dependency.patch
deleted file mode 100644
index 9ebb3c26d6b..00000000000
--- a/patches/communication/004-rules-build-error-not-dev-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/MODULE.bazel b/MODULE.bazel
-index ee9ccaf..f899b36 100644
---- a/MODULE.bazel
-+++ b/MODULE.bazel
-@@ -370,7 +370,7 @@ use_repo(lint_toolchains, "sarif_parser_toolchains")
- 
- bazel_dep(name = "score_rust_policies", version = "0.0.5", dev_dependency = True)
- bazel_dep(name = "rules_shell", version = "0.6.1", dev_dependency = True)
--bazel_dep(name = "rules_build_error", version = "0.11.0", dev_dependency = True)
-+bazel_dep(name = "rules_build_error", version = "0.11.0")
- bazel_dep(name = "google_benchmark", version = "1.9.5", dev_dependency = True)
- bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.3", dev_dependency = True)
- bazel_dep(name = "hedron_compile_commands", dev_dependency = True)
diff --git a/patches/communication/005-migrate-baselibs-rust-targets.patch b/patches/communication/005-migrate-baselibs-rust-targets.patch
deleted file mode 100644
index 5d25104a85e..00000000000
--- a/patches/communication/005-migrate-baselibs-rust-targets.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/score/mw/com/example/com-api-example/BUILD b/score/mw/com/example/com-api-example/BUILD
-index 4c834d489a..41c340eb68 100644
---- a/score/mw/com/example/com-api-example/BUILD
-+++ b/score/mw/com/example/com-api-example/BUILD
-@@ -21,7 +21,7 @@ rust_library(
-     deps = [
-         "//score/mw/com/example/com-api-example/com-api-gen",
-         "//score/mw/com/rust:score_com",
--        "@score_baselibs//src/log/score_log",
-+        "@score_baselibs//score/log_rust/score_log",
-         "@score_communication_crate_index//:clap",
-         "@score_communication_crate_index//:futures",
-     ],
-@@ -42,8 +42,8 @@ rust_binary(
-         ":com-api-example-lib",
-         "//score/mw/com/example/com-api-example/com-api-gen",
-         "//score/mw/com/rust:score_com",
--        "@score_baselibs//src/log/score_log",
--        "@score_baselibs//src/log/stdout_logger",
-+        "@score_baselibs//score/log_rust/score_log",
-+        "@score_baselibs//score/log_rust/stdout_logger",
-         "@score_communication_crate_index//:clap",
-         "@score_communication_crate_index//:futures",
-     ],
-diff --git a/score/mw/com/example/com-api-example/com-api-gen/BUILD b/score/mw/com/example/com-api-example/com-api-gen/BUILD
-index 94f6c8f96e..cd8ea32df7 100644
---- a/score/mw/com/example/com-api-example/com-api-gen/BUILD
-+++ b/score/mw/com/example/com-api-example/com-api-gen/BUILD
-@@ -26,7 +26,7 @@ rust_library(
-     deps = [
-         ":vehicle_gen_cpp",
-         "//score/mw/com/rust:score_com",
--        "@score_baselibs//src/log/score_log",
-+        "@score_baselibs//score/log_rust/score_log",
-     ],
- )
- 
-diff --git a/score/mw/com/impl/rust/com-api/com-api-ffi-lola/BUILD b/score/mw/com/impl/rust/com-api/com-api-ffi-lola/BUILD
-index a988186a96..81cd80485a 100644
---- a/score/mw/com/impl/rust/com-api/com-api-ffi-lola/BUILD
-+++ b/score/mw/com/impl/rust/com-api/com-api-ffi-lola/BUILD
-@@ -68,6 +68,6 @@ rust_library(
-     deps = [
-         ":bridge_ffi_rs",
-         "//score/mw/com/impl/plumbing/rust:sample_ptr_rs",
--        "@score_baselibs//src/log/score_log",
-+        "@score_baselibs//score/log_rust/score_log",
-     ],
- )
-diff --git a/score/mw/com/impl/rust/com-api/com-api-runtime-lola/BUILD b/score/mw/com/impl/rust/com-api/com-api-runtime-lola/BUILD
-index aa5d094e23..3e7a59418e 100644
---- a/score/mw/com/impl/rust/com-api/com-api-runtime-lola/BUILD
-+++ b/score/mw/com/impl/rust/com-api/com-api-runtime-lola/BUILD
-@@ -28,7 +28,7 @@ rust_library(
-         "//score/mw/com/impl/rust/com-api/com-api-ffi-lola:bridge_ffi_lola",
-         "//score/mw/com/impl/rust/com-api/com-api-ffi-lola:bridge_ffi_rs",
-         "//score/mw/com/rust/score_com_concept",
--        "@score_baselibs//src/log/score_log",
-+        "@score_baselibs//score/log_rust/score_log",
-         "@score_communication_crate_index//:futures",
-     ],
- )
-diff --git a/score/mw/com/rust/score_com_concept/BUILD b/score/mw/com/rust/score_com_concept/BUILD
-index 5386e8b2ef..8f51c7e6db 100644
---- a/score/mw/com/rust/score_com_concept/BUILD
-+++ b/score/mw/com/rust/score_com_concept/BUILD
-@@ -25,8 +25,8 @@ rust_library(
-         "//score/mw/com:__subpackages__",
-     ],
-     deps = [
--        "@score_baselibs//src/containers",
--        "@score_baselibs//src/log/score_log",
-+        "@score_baselibs//score/containers_rust:containers",
-+        "@score_baselibs//score/log_rust/score_log",
-         "@score_communication_crate_index//:futures",
-         "@score_communication_crate_index//:thiserror",
-     ],
diff --git a/patches/communication/006-add-safe-math-dep.patch b/patches/communication/006-add-safe-math-dep.patch
deleted file mode 100644
index d0b2b83babd..00000000000
--- a/patches/communication/006-add-safe-math-dep.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/score/mw/com/impl/bindings/lola/messaging/BUILD b/score/mw/com/impl/bindings/lola/messaging/BUILD
---- a/score/mw/com/impl/bindings/lola/messaging/BUILD
-+++ b/score/mw/com/impl/bindings/lola/messaging/BUILD
-@@ -107,6 +107,7 @@
-         "//score/mw/com/impl:error_serializer",
-         "//score/mw/com/impl/bindings/lola/methods:method_error",
-         "@score_baselibs//score/concurrency:thread_pool",
-+        "@score_baselibs//score/language/safecpp/safe_math",
-         "@score_baselibs//score/os:errno_logging",
-         "@score_communication//score/message_passing",
-     ],

From 88b01d0b91846a6a5f752bddeb34aba3121fd0d8 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 19:40:05 +0100
Subject: [PATCH 35/80] Bump score_config_management to main and adapt patches

Upstream main targets the new score_communication proxy API, so the proxy
and baselibs patches are dropped. Add a patch exposing mw_com_config and
demo_parameters, and rebase the persistency KVS migration patch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 .../score_modules_target_sw.MODULE.bazel      |   7 +-
 known_good.json                               |   7 +-
 ...roxy-api-and-remove-internal-targets.patch | 101 ----
 .../001-expose-mw-com-config.patch            |  29 +
 .../002-migrate-baselibs-targets.patch        |  26 -
 .../002-migrate-to-persistency-kvs-api.patch  | 213 +++++++
 .../003-migrate-to-persistency-kvs-api.patch  | 555 ------------------
 showcases/standalone/BUILD                    |   2 +-
 8 files changed, 249 insertions(+), 691 deletions(-)
 delete mode 100644 patches/config_management/001-adapt-proxy-api-and-remove-internal-targets.patch
 create mode 100644 patches/config_management/001-expose-mw-com-config.patch
 delete mode 100644 patches/config_management/002-migrate-baselibs-targets.patch
 create mode 100644 patches/config_management/002-migrate-to-persistency-kvs-api.patch
 delete mode 100644 patches/config_management/003-migrate-to-persistency-kvs-api.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 0cd9ada72ec..d7cd6eed203 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -95,12 +95,11 @@ git_override(
 bazel_dep(name = "score_config_management")
 git_override(
     module_name = "score_config_management",
-    commit = "d0dab01ae408ceb8ec65344e93d8a51d8173da81",
+    commit = "50051d3ae061eb17c2907ce9438617238bf9255d",
     patch_strip = 1,
     patches = [
-        "//patches/config_management:001-adapt-proxy-api-and-remove-internal-targets.patch",
-        "//patches/config_management:002-migrate-baselibs-targets.patch",
-        "//patches/config_management:003-migrate-to-persistency-kvs-api.patch",
+        "//patches/config_management:001-expose-mw-com-config.patch",
+        "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",
     ],
     remote = "https://github.com/eclipse-score/config_management.git",
 )
diff --git a/known_good.json b/known_good.json
index 5449e473c3a..f4ec5ab244a 100644
--- a/known_good.json
+++ b/known_good.json
@@ -224,11 +224,10 @@
             "score_config_management": {
                 "repo": "https://github.com/eclipse-score/config_management.git",
                 "docs": false,
-                "hash": "d0dab01ae408ceb8ec65344e93d8a51d8173da81",
+                "hash": "50051d3ae061eb17c2907ce9438617238bf9255d",
                 "bazel_patches": [
-                    "//patches/config_management:001-adapt-proxy-api-and-remove-internal-targets.patch",
-                    "//patches/config_management:002-migrate-baselibs-targets.patch",
-                    "//patches/config_management:003-migrate-to-persistency-kvs-api.patch"
+                    "//patches/config_management:001-expose-mw-com-config.patch",
+                    "//patches/config_management:002-migrate-to-persistency-kvs-api.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/config_management/...",
diff --git a/patches/config_management/001-adapt-proxy-api-and-remove-internal-targets.patch b/patches/config_management/001-adapt-proxy-api-and-remove-internal-targets.patch
deleted file mode 100644
index 96c82f52079..00000000000
--- a/patches/config_management/001-adapt-proxy-api-and-remove-internal-targets.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-diff --git a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.cpp b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.cpp
-index 6784355..c6f05ea 100644
---- a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.cpp
-+++ b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.cpp
-@@ -46,7 +46,7 @@ std::string GetParameterSetValue(mw::log::Logger& logger, const ParameterSet& pa
- }  // namespace
- 
- ConfigProviderImpl::ConfigProviderImpl(
--    mw::service::OptionalProxyData proxy_data,
-+    mw::service::ProxyFuture> proxy_future,
-     score::cpp::stop_token user_stop_token,
-     score::cpp::pmr::memory_resource* const memory_resource,
-     score::cpp::optional max_samples_limit,
-@@ -78,22 +78,23 @@ ConfigProviderImpl::ConfigProviderImpl(
-     score::cpp::ignore = proxy_available_thread_.emplace(
-         [this](const score::cpp::stop_token jthread_stop_token,
-                decltype(callback) notification_callback,
--               decltype(proxy_data) pd) mutable {
--            auto proxy_holder = pd.GetProxyFuture().Get(jthread_stop_token);
--            pd.StopServiceDiscovery();
--            if (proxy_holder.has_value())
-+               decltype(proxy_future) pf) mutable {
-+            auto proxy_holder = pf.Get(jthread_stop_token);
-+            if (proxy_holder.has_value() && (proxy_holder.value() != nullptr))
-             {
-                 logger_.LogInfo() << "ProxyAvailableThread: InternalConfigProvider proxy is connected";
-                 SetupInternalConfigProvider(
--                    std::move(proxy_holder).value(), std::move(notification_callback), jthread_stop_token);
-+                    std::shared_ptr(std::move(proxy_holder).value()),
-+                    std::move(notification_callback),
-+                    jthread_stop_token);
-             }
-             else
-             {
--                logger_.LogInfo() << "ProxyAvailableThread: No proxy found: " << proxy_holder.error().Message();
-+                logger_.LogInfo() << "ProxyAvailableThread: No proxy found";
-             }
-         },
-         std::move(callback),
--        std::move(proxy_data));
-+        std::move(proxy_future));
- 
-     score::cpp::ignore = stop_callback_.emplace(user_stop_token, [this]() {
-         score::cpp::ignore = proxy_available_thread_->request_stop();
-diff --git a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-index 508555c..7630e60 100644
---- a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-+++ b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-@@ -24,6 +24,7 @@
- 
- #include "score/concurrency/condition_variable.h"
- #include "score/mw/service/proxy_data.h"
-+#include "score/mw/service/proxy_future.h"
- 
- #include 
- #include 
-@@ -87,7 +88,7 @@ class ConfigProviderImpl final : public ConfigProvider
-     bool IsAwaitingProxyConnection() const noexcept;
- 
-     ConfigProviderImpl(
--        mw::service::OptionalProxyData proxy_data,
-+        mw::service::ProxyFuture> proxy_future,
-         score::cpp::stop_token user_stop_token,
-         score::cpp::pmr::memory_resource* const memory_resource,
-         score::cpp::optional max_samples_limit,
-diff --git a/score/config_management/config_provider/code/config_provider/details/config_provider_impl_test.cpp b/score/config_management/config_provider/code/config_provider/details/config_provider_impl_test.cpp
-index 8bd5f2f..ed559ea 100644
---- a/score/config_management/config_provider/code/config_provider/details/config_provider_impl_test.cpp
-+++ b/score/config_management/config_provider/code/config_provider/details/config_provider_impl_test.cpp
-@@ -182,7 +182,7 @@ class ConfigProviderTest : public ::testing::Test
-     auto CreateConfigProviderWithAvailableCallback(IsAvailableNotificationCallback callback)
-     {
-         return std::make_unique(
--            mw::service::OptionalProxyData{promise_.GetInterruptibleFuture().value()},
-+            promise_.GetInterruptibleFuture().value(),
-             stop_source_.get_token(),
-             score::cpp::pmr::get_default_resource(),
-             score::cpp::nullopt,  // default max_samples_limit
-@@ -196,7 +196,7 @@ class ConfigProviderTest : public ::testing::Test
-         IsAvailableNotificationCallback callback)
-     {
-         return std::make_unique(
--            mw::service::OptionalProxyData{promise_.GetInterruptibleFuture().value()},
-+            promise_.GetInterruptibleFuture().value(),
-             stop_source_.get_token(),
-             score::cpp::pmr::get_default_resource(),
-             score::cpp::nullopt,
-diff --git a/score/config_management/config_provider/code/config_provider/factory/factory_mw_com.h b/score/config_management/config_provider/code/config_provider/factory/factory_mw_com.h
-index 5aeca26..123868b 100644
---- a/score/config_management/config_provider/code/config_provider/factory/factory_mw_com.h
-+++ b/score/config_management/config_provider/code/config_provider/factory/factory_mw_com.h
-@@ -182,7 +182,8 @@ class ConfigProviderFactory final
-         logger_.LogDebug() << "ConfigProviderFactory:: Create ConfigProviderImpl";
-         auto config_provider = score::cpp::pmr::make_unique(
-             memory_resource,
--            proxy_container.template Extract>(),
-+            static_cast>>(
-+                proxy_container.template Extract>()),
-             token,
-             memory_resource,
-             max_samples_limit,
diff --git a/patches/config_management/001-expose-mw-com-config.patch b/patches/config_management/001-expose-mw-com-config.patch
new file mode 100644
index 00000000000..202c9b91547
--- /dev/null
+++ b/patches/config_management/001-expose-mw-com-config.patch
@@ -0,0 +1,29 @@
+Expose the config daemon mw_com_config and demo_parameters to the reference
+integration showcase bundle.
+
+diff --git a/score/config_management/config_daemon/code/plugins/demo_json/BUILD b/score/config_management/config_daemon/code/plugins/demo_json/BUILD
+index 3634813..784c9d7 100644
+--- a/score/config_management/config_daemon/code/plugins/demo_json/BUILD
++++ b/score/config_management/config_daemon/code/plugins/demo_json/BUILD
+@@ -13,5 +13,8 @@ cc_unit_test_suites_for_host_and_qnx(
+ filegroup(
+     name = "demo_parameters",
+     srcs = ["etc/demo_parameters.json"],
+-    visibility = ["//score/config_management/config_daemon/test:__subpackages__"],
++    visibility = [
++        "//score/config_management/config_daemon/test:__subpackages__",
++        "//visibility:public",
++    ],
+ )
+diff --git a/score/config_management/config_daemon/config/BUILD b/score/config_management/config_daemon/config/BUILD
+index f9dc364..31940f4 100644
+--- a/score/config_management/config_daemon/config/BUILD
++++ b/score/config_management/config_daemon/config/BUILD
+@@ -2,6 +2,7 @@ filegroup(
+     name = "mw_com_config",
+     srcs = ["mw_com_config.json"],
+     visibility = [
++        "//visibility:public",
+         "//score/config_management/config_daemon/code/factory/details:__pkg__",
+         "//score/config_management/config_daemon/code/services/details/mw_com:__pkg__",
+     ],
diff --git a/patches/config_management/002-migrate-baselibs-targets.patch b/patches/config_management/002-migrate-baselibs-targets.patch
deleted file mode 100644
index 96820dc56a2..00000000000
--- a/patches/config_management/002-migrate-baselibs-targets.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/score/config_management/config_provider/code/config_provider/details/BUILD b/score/config_management/config_provider/code/config_provider/details/BUILD
-index 937b056..9a71294 100644
---- a/score/config_management/config_provider/code/config_provider/details/BUILD
-+++ b/score/config_management/config_provider/code/config_provider/details/BUILD
-@@ -21,6 +21,7 @@ cc_library(
-         "@score_baselibs//score/concurrency:condition_variable",
-         "@score_baselibs//score/concurrency/future",
-         "@score_baselibs//score/language/futurecpp",
-+        "@score_baselibs//score/string_manipulation:string_comparison_adaptor",
-         "@score_communication//score/mw/service:proxy_data",
-         "@score_logging//score/mw/log",
-     ],
-diff --git a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-index 7630e60..596a8e6 100644
---- a/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-+++ b/score/config_management/config_provider/code/config_provider/details/config_provider_impl.h
-@@ -19,8 +19,8 @@
- #include "score/config_management/config_provider/code/persistency/persistency.h"
- #include "score/config_management/config_provider/code/proxies/internal_config_provider.h"
- 
--#include "score/memory/string_comparison_adaptor.h"
- #include "score/mw/log/logger.h"
-+#include "score/string_manipulation/string_comparison_adaptor.h"
- 
- #include "score/concurrency/condition_variable.h"
- #include "score/mw/service/proxy_data.h"
diff --git a/patches/config_management/002-migrate-to-persistency-kvs-api.patch b/patches/config_management/002-migrate-to-persistency-kvs-api.patch
new file mode 100644
index 00000000000..d86f1cbe733
--- /dev/null
+++ b/patches/config_management/002-migrate-to-persistency-kvs-api.patch
@@ -0,0 +1,213 @@
+Migrate the config daemon to the score_persistency KVS API (score/kvs/*.h).
+
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
+index 4efbc9f..6d69f16 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
+@@ -48,7 +48,7 @@ COMMON_FEATURES = [
+             "details_score",
+             False,
+             [
+-                "@score_persistency//:kvs_cpp",
++                "@score_persistency//score/kvs",
+             ],
+         ),
+         (
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
+index 7ba3e92..525c895 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
+@@ -16,7 +16,7 @@
+ #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
+ #include "score/config_management/config_daemon/code/data_model/parameterset_collection.h"
+ 
+-#include "kvsvalue.hpp"
++#include "score/kvs/kvs_value.h"
+ #include "score/hash/code/common/algorithms.h"
+ #include "score/hash/code/core/factory/impl/safe_hash_calculator_factory.h"
+ #include "score/json/json_writer.h"
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
+index 181b8aa..fe33253 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
+@@ -16,7 +16,7 @@
+ 
+ #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/parameter_set_storage.h"
+ 
+-#include "kvs.hpp"
++#include "score/kvs/kvs.h"
+ 
+ #include 
+ #include 
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
+index b3afa1e..a8e076a 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
+@@ -13,23 +13,23 @@
+ 
+ load("@rules_cc//cc:defs.bzl", "cc_library")
+ 
+-# Stub replacements for score-persistency headers (kvs.hpp / kvsbuilder.hpp / kvsvalue.hpp).
++# Stub replacements for score-persistency headers (score/kvs/kvs.h / kvs_builder.h / kvs_value.h).
+ # Used when compiling score-variant source files (e.g. factory_mw_com_impl.cpp,
+ # parameter_set_storage_score_impl.cpp) under the SPP toolchain where the real
+ # score-baselibs / score-persistency headers would cause namespace clashes.
+ #
+ # The stubs expose exactly the same types and method signatures used by those files
+ # but have no real implementation — every operation is a no-op / returns failure.
+-# On the actual score build, the real @score-persistency//:kvs_cpp is used instead.
++# On the actual score build, the real @score_persistency//score/kvs is used instead.
+ cc_library(
+     name = "score_kvs_stub",
+     hdrs = [
+-        "kvs.hpp",
+-        "kvsbuilder.hpp",
+-        "kvsvalue.hpp",
++        "score/kvs/kvs.h",
++        "score/kvs/kvs_builder.h",
++        "score/kvs/kvs_value.h",
+     ],
+     # Expose the directory itself as a system include path so that
+-    # `#include "kvs.hpp"` resolves here, mirroring how score-persistency does it.
++    # `#include "score/kvs/kvs.h"` resolves here, mirroring score-persistency's header paths.
+     includes = ["."],
+     tags = ["FUSA"],
+     visibility = [
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
+index 95eca96..a23fd42 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
+@@ -14,7 +14,7 @@
+ #ifndef SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
+ #define SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
+ 
+-#include "kvs.hpp"
++#include "score/kvs/kvs.h"
+ 
+ #include 
+ 
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
+similarity index 93%
+rename from score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
+rename to score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
+index 445d1c5..c789f58 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
+@@ -14,7 +14,7 @@
+ #ifndef SCORE_LIB_KVS_KVS_HPP
+ #define SCORE_LIB_KVS_KVS_HPP
+ 
+-#include "kvsvalue.hpp"
++#include "score/kvs/kvs_value.h"
+ 
+ #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
+ 
+@@ -31,12 +31,12 @@ struct InstanceId
+ };
+ 
+ // Stub for score-persistency's Kvs. Concrete so make_unique(unique_ptr) in
+-// factory_mw_com_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
++// factory_mw_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
+ class Kvs
+ {
+   public:
+     Kvs() = default;
+-    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_com_impl.cpp.
++    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_impl.cpp.
+     explicit Kvs(std::unique_ptr /*inner*/) noexcept {}
+     virtual ~Kvs() = default;
+     Kvs(const Kvs&) = delete;
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
+similarity index 66%
+rename from score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
+rename to score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
+index db0314f..3b5dd99 100644
+--- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
++++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
+@@ -11,35 +11,50 @@
+ // SPDX-License-Identifier: Apache-2.0
+ // *******************************************************************************
+ 
+-// Stub replacing score-persistency's kvsbuilder.hpp for SPP compilation.
+-// Only the subset of the API used by factory_mw_com_impl.cpp is provided.
++// Stub replacing score-persistency's score/kvs/kvs_builder.h for SPP compilation.
++// Only the subset of the API used by factory_mw_impl.cpp is provided.
+ 
+ #ifndef SCORE_LIB_KVS_KVSBUILDER_HPP
+ #define SCORE_LIB_KVS_KVSBUILDER_HPP
+ 
+-#include "kvs.hpp"
++#include "score/kvs/kvs.h"
+ 
++#include 
+ #include 
+ #include 
+ 
+ namespace score::mw::per::kvs
+ {
+ 
++enum class KvsDefaults : std::uint8_t
++{
++    kRequired = 0,
++    kOptional = 1,
++    kIgnored = 2,
++};
++
++enum class KvsLoad : std::uint8_t
++{
++    kRequired = 0,
++    kOptional = 1,
++    kIgnored = 2,
++};
++
+ /// @brief Stub KvsBuilder — build() always returns an empty (failure) Result.
+ class KvsBuilder final
+ {
+   public:
+     explicit KvsBuilder(const InstanceId& /*instance_id*/) {}
+ 
+-    KvsBuilder& need_defaults_flag(bool /*flag*/) noexcept
++    KvsBuilder& Defaults(const KvsDefaults& /*mode*/) noexcept
+     {
+         return *this;
+     }
+-    KvsBuilder& need_kvs_flag(bool /*flag*/) noexcept
++    KvsBuilder& KvsLoad(const score::mw::per::kvs::KvsLoad& /*mode*/) noexcept
+     {
+         return *this;
+     }
+-    KvsBuilder& dir(std::string&& /*dir_path*/) noexcept
++    KvsBuilder& WorkingDir(const std::string& /*working_dir*/) noexcept
+     {
+         return *this;
+     }
+diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
+similarity index 100%
+rename from score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp
+rename to score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
+diff --git a/score/config_management/config_daemon/code/factory/details/infrastructure_factory_score_impl.cpp b/score/config_management/config_daemon/code/factory/details/infrastructure_factory_score_impl.cpp
+index 3901bf7..0542a4d 100644
+--- a/score/config_management/config_daemon/code/factory/details/infrastructure_factory_score_impl.cpp
++++ b/score/config_management/config_daemon/code/factory/details/infrastructure_factory_score_impl.cpp
+@@ -18,7 +18,7 @@
+ #include "score/config_management/config_daemon/code/fault_event_reporter/details/fault_event_reporter_score_impl.h"
+ #include "score/config_management/config_daemon/code/json_helper/details/json_helper_impl.h"
+ 
+-#include "kvsbuilder.hpp"
++#include "score/kvs/kvs_builder.h"
+ #include "score/mw/log/logging.h"
+ 
+ #include 
+@@ -39,9 +39,9 @@ std::shared_ptr
+ InfrastructureFactoryImpl::CreateParameterSetCollectionManager(std::vector>& plugins) const
+ {
+     auto kvs_result = score::mw::per::kvs::KvsBuilder(score::mw::per::kvs::InstanceId{0U})
+-                          .need_defaults_flag(false)
+-                          .need_kvs_flag(false)
+-                          .dir("/persistent/trusted/ConfigDaemon")
++                          .Defaults(score::mw::per::kvs::KvsDefaults::kOptional)
++                          .KvsLoad(score::mw::per::kvs::KvsLoad::kOptional)
++                          .WorkingDir("/persistent/trusted/ConfigDaemon")
+                           .build();
+     if (!kvs_result.has_value())
+     {
diff --git a/patches/config_management/003-migrate-to-persistency-kvs-api.patch b/patches/config_management/003-migrate-to-persistency-kvs-api.patch
deleted file mode 100644
index 995fe19a0a8..00000000000
--- a/patches/config_management/003-migrate-to-persistency-kvs-api.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/BUILD
-@@ -48,7 +48,7 @@ COMMON_FEATURES = [
-             "details_score",
-             False,
-             [
--                "@score_persistency//:kvs_cpp",
-+                "@score_persistency//score/kvs",
-             ],
-         ),
-         (
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.cpp
-@@ -16,7 +16,7 @@
- #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
- #include "score/config_management/config_daemon/code/data_model/parameterset_collection.h"
- 
--#include "kvsvalue.hpp"
-+#include "score/kvs/kvs_value.h"
- #include "score/json/json_writer.h"
- #include "score/hash/code/common/algorithms.h"
- #include "score/hash/code/core/factory/impl/safe_hash_calculator_factory.h"
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/parameter_set_storage_score_impl.h
-@@ -16,7 +16,7 @@
- 
- #include "score/config_management/config_daemon/code/data_model/parameter_set_storage/parameter_set_storage.h"
- 
--#include "kvs.hpp"
-+#include "score/kvs/kvs.h"
- 
- #include 
- #include 
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/BUILD
-@@ -13,23 +13,23 @@
- 
- load("@rules_cc//cc:defs.bzl", "cc_library")
- 
--# Stub replacements for score-persistency headers (kvs.hpp / kvsbuilder.hpp / kvsvalue.hpp).
-+# Stub replacements for score-persistency headers (score/kvs/kvs.h / kvs_builder.h / kvs_value.h).
- # Used when compiling score-variant source files (e.g. factory_mw_impl.cpp,
- # parameter_set_storage_score_impl.cpp) under the SPP toolchain where the real
- # score-baselibs / score-persistency headers would cause namespace clashes.
- #
- # The stubs expose exactly the same types and method signatures used by those files
- # but have no real implementation — every operation is a no-op / returns failure.
--# On the actual score build, the real @score-persistency//:kvs_cpp is used instead.
-+# On the actual score build, the real @score_persistency//score/kvs is used instead.
- cc_library(
-     name = "score_kvs_stub",
-     hdrs = [
--        "kvs.hpp",
--        "kvsbuilder.hpp",
--        "kvsvalue.hpp",
-+        "score/kvs/kvs.h",
-+        "score/kvs/kvs_builder.h",
-+        "score/kvs/kvs_value.h",
-     ],
-     # Expose the directory itself as a system include path so that
--    # `#include "kvs.hpp"` resolves here, mirroring how score-persistency does it.
-+    # `#include "score/kvs/kvs.h"` resolves here, mirroring score-persistency's header paths.
-     includes = ["."],
-     tags = ["FUSA"],
-     visibility = [
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
-deleted file mode 100644
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs.hpp
-+++ /dev/null
-@@ -1,69 +0,0 @@
--// *******************************************************************************
--// Copyright (c) 2025 Contributors to the Eclipse Foundation
--//
--// See the NOTICE file(s) distributed with this work for additional
--// information regarding copyright ownership.
--//
--// This program and the accompanying materials are made available under the
--// terms of the Apache License Version 2.0 which is available at
--// https://www.apache.org/licenses/LICENSE-2.0
--//
--// SPDX-License-Identifier: Apache-2.0
--// *******************************************************************************
--
--#ifndef SCORE_LIB_KVS_KVS_HPP
--#define SCORE_LIB_KVS_KVS_HPP
--
--#include "kvsvalue.hpp"
--
--#include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
--
--#include 
--#include 
--
--namespace score::mw::per::kvs
--{
--
--struct InstanceId
--{
--    explicit InstanceId(std::size_t id) : id{id} {}
--    std::size_t id{0U};
--};
--
--// Stub for score-persistency's Kvs. Concrete so make_unique(unique_ptr) in
--// factory_mw_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
--class Kvs
--{
--  public:
--    Kvs() = default;
--    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_impl.cpp.
--    explicit Kvs(std::unique_ptr /*inner*/) noexcept {}
--    virtual ~Kvs() = default;
--    Kvs(const Kvs&) = delete;
--    Kvs& operator=(const Kvs&) = delete;
--    Kvs(Kvs&&) noexcept = delete;
--    Kvs& operator=(Kvs&&) noexcept = delete;
--
--    // NOLINTBEGIN(readability-identifier-naming)
--    virtual score::Result get_value(std::string_view /*key*/) noexcept
--    {
--        return score::MakeUnexpected(
--            score::MakeUnexpected(::score::config_management::config_daemon::data_model::ParameterSetStorageError::kDataNotFound)
--                .error());
--    }
--    virtual score::Result set_value(std::string_view /*key*/, const KvsValue& /*value*/) noexcept
--    {
--        return score::MakeUnexpected(
--            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
--    }
--    virtual score::Result flush() noexcept
--    {
--        return score::MakeUnexpected(
--            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
--    }
--    // NOLINTEND(readability-identifier-naming)
--};
--
--}  // namespace score::mw::per::kvs
--
--#endif  // SCORE_LIB_KVS_KVS_HPP
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvs_mock.hpp
-@@ -14,7 +14,7 @@
- #ifndef SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
- #define SCORE_CONFIG_MANAGEMENT_CONFIG_DAEMON_CODE_PARAMETER_SET_STORAGE_DETAILS_SCORE_KVS_STUB_KVS_MOCK_HPP
- 
--#include "kvs.hpp"
-+#include "score/kvs/kvs.h"
- 
- #include 
- 
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
-deleted file mode 100644
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsbuilder.hpp
-+++ /dev/null
-@@ -1,55 +0,0 @@
--// *******************************************************************************
--// Copyright (c) 2025 Contributors to the Eclipse Foundation
--//
--// See the NOTICE file(s) distributed with this work for additional
--// information regarding copyright ownership.
--//
--// This program and the accompanying materials are made available under the
--// terms of the Apache License Version 2.0 which is available at
--// https://www.apache.org/licenses/LICENSE-2.0
--//
--// SPDX-License-Identifier: Apache-2.0
--// *******************************************************************************
--
--// Stub replacing score-persistency's kvsbuilder.hpp for SPP compilation.
--// Only the subset of the API used by factory_mw_impl.cpp is provided.
--
--#ifndef SCORE_LIB_KVS_KVSBUILDER_HPP
--#define SCORE_LIB_KVS_KVSBUILDER_HPP
--
--#include "kvs.hpp"
--
--#include 
--#include 
--
--namespace score::mw::per::kvs
--{
--
--/// @brief Stub KvsBuilder — build() always returns an empty (failure) Result.
--class KvsBuilder final
--{
--  public:
--    explicit KvsBuilder(const InstanceId& /*instance_id*/) {}
--
--    KvsBuilder& need_defaults_flag(bool /*flag*/) noexcept
--    {
--        return *this;
--    }
--    KvsBuilder& need_kvs_flag(bool /*flag*/) noexcept
--    {
--        return *this;
--    }
--    KvsBuilder& dir(std::string&& /*dir_path*/) noexcept
--    {
--        return *this;
--    }
--
--    score::Result> build() noexcept
--    {
--        return score::Result>{std::make_unique()};
--    }
--};
--
--}  // namespace score::mw::per::kvs
--
--#endif  // SCORE_LIB_KVS_KVSBUILDER_HPP
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp
-deleted file mode 100644
---- a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/kvsvalue.hpp
-+++ /dev/null
-@@ -1,78 +0,0 @@
--// *******************************************************************************
--// Copyright (c) 2025 Contributors to the Eclipse Foundation
--//
--// See the NOTICE file(s) distributed with this work for additional
--// information regarding copyright ownership.
--//
--// This program and the accompanying materials are made available under the
--// terms of the Apache License Version 2.0 which is available at
--// https://www.apache.org/licenses/LICENSE-2.0
--//
--// SPDX-License-Identifier: Apache-2.0
--// *******************************************************************************
--
--#ifndef SCORE_LIB_KVS_KVSVALUE_HPP
--#define SCORE_LIB_KVS_KVSVALUE_HPP
--
--#include "score/result/result.h"
--
--#include 
--#include 
--#include 
--#include 
--#include 
--
--namespace score::mw::per::kvs
--{
--
--class KvsValue final
--{
--  public:
--    using Array = std::vector>;
--    using Object = std::unordered_map>;
--
--    // NOLINTBEGIN(readability-identifier-naming) — enum constants mirror real score-persistency KvsValue::Type
--    enum class Type
--    {
--        i32,
--        u32,
--        i64,
--        u64,
--        f64,
--        Boolean,
--        String,
--        Null,
--        Array,
--        Object
--    };
--    // NOLINTEND(readability-identifier-naming)
--
--    explicit KvsValue(const std::string& str) : value_{str}, type_{Type::String} {}
--    explicit KvsValue(std::string&& str) : value_{std::move(str)}, type_{Type::String} {}
--    explicit KvsValue(Type type) : value_{std::string{}}, type_{type} {}
--
--    KvsValue(const KvsValue&) = default;
--    KvsValue& operator=(const KvsValue&) = default;
--    KvsValue(KvsValue&&) noexcept = default;
--    KvsValue& operator=(KvsValue&&) noexcept = default;
--
--    // NOLINTBEGIN(readability-identifier-naming) — method names mirror real score-persistency KvsValue API
--    Type getType() const noexcept
--    {
--        return type_;
--    }
--
--    const std::variant& getValue() const noexcept
--    {
--        return value_;
--    }
--    // NOLINTEND(readability-identifier-naming)
--
--  private:
--    std::variant value_;
--    Type type_{Type::Null};
--};
--
--}  // namespace score::mw::per::kvs
--
--#endif  // SCORE_LIB_KVS_KVSVALUE_HPP
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
-new file mode 100644
---- /dev/null
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs.h
-@@ -0,0 +1,69 @@
-+// *******************************************************************************
-+// Copyright (c) 2025 Contributors to the Eclipse Foundation
-+//
-+// See the NOTICE file(s) distributed with this work for additional
-+// information regarding copyright ownership.
-+//
-+// This program and the accompanying materials are made available under the
-+// terms of the Apache License Version 2.0 which is available at
-+// https://www.apache.org/licenses/LICENSE-2.0
-+//
-+// SPDX-License-Identifier: Apache-2.0
-+// *******************************************************************************
-+
-+#ifndef SCORE_LIB_KVS_KVS_HPP
-+#define SCORE_LIB_KVS_KVS_HPP
-+
-+#include "score/kvs/kvs_value.h"
-+
-+#include "score/config_management/config_daemon/code/data_model/parameter_set_storage/error/parameter_set_storage_error.h"
-+
-+#include 
-+#include 
-+
-+namespace score::mw::per::kvs
-+{
-+
-+struct InstanceId
-+{
-+    explicit InstanceId(std::size_t id) : id{id} {}
-+    std::size_t id{0U};
-+};
-+
-+// Stub for score-persistency's Kvs. Concrete so make_unique(unique_ptr) in
-+// factory_mw_impl.cpp compiles. MockKvs subclasses and overrides the virtual methods for tests.
-+class Kvs
-+{
-+  public:
-+    Kvs() = default;
-+    // Accepts a unique_ptr to match the real score-persistency API used in factory_mw_impl.cpp.
-+    explicit Kvs(std::unique_ptr /*inner*/) noexcept {}
-+    virtual ~Kvs() = default;
-+    Kvs(const Kvs&) = delete;
-+    Kvs& operator=(const Kvs&) = delete;
-+    Kvs(Kvs&&) noexcept = delete;
-+    Kvs& operator=(Kvs&&) noexcept = delete;
-+
-+    // NOLINTBEGIN(readability-identifier-naming)
-+    virtual score::Result get_value(std::string_view /*key*/) noexcept
-+    {
-+        return score::MakeUnexpected(
-+            score::MakeUnexpected(::score::config_management::config_daemon::data_model::ParameterSetStorageError::kDataNotFound)
-+                .error());
-+    }
-+    virtual score::Result set_value(std::string_view /*key*/, const KvsValue& /*value*/) noexcept
-+    {
-+        return score::MakeUnexpected(
-+            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
-+    }
-+    virtual score::Result flush() noexcept
-+    {
-+        return score::MakeUnexpected(
-+            ::score::config_management::config_daemon::data_model::ParameterSetStorageError::kUnableToSaveToPersistency);
-+    }
-+    // NOLINTEND(readability-identifier-naming)
-+};
-+
-+}  // namespace score::mw::per::kvs
-+
-+#endif  // SCORE_LIB_KVS_KVS_HPP
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
-new file mode 100644
---- /dev/null
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_builder.h
-@@ -0,0 +1,70 @@
-+// *******************************************************************************
-+// Copyright (c) 2025 Contributors to the Eclipse Foundation
-+//
-+// See the NOTICE file(s) distributed with this work for additional
-+// information regarding copyright ownership.
-+//
-+// This program and the accompanying materials are made available under the
-+// terms of the Apache License Version 2.0 which is available at
-+// https://www.apache.org/licenses/LICENSE-2.0
-+//
-+// SPDX-License-Identifier: Apache-2.0
-+// *******************************************************************************
-+
-+// Stub replacing score-persistency's score/kvs/kvs_builder.h for SPP compilation.
-+// Only the subset of the API used by factory_mw_impl.cpp is provided.
-+
-+#ifndef SCORE_LIB_KVS_KVSBUILDER_HPP
-+#define SCORE_LIB_KVS_KVSBUILDER_HPP
-+
-+#include "score/kvs/kvs.h"
-+
-+#include 
-+#include 
-+#include 
-+
-+namespace score::mw::per::kvs
-+{
-+
-+enum class KvsDefaults : std::uint8_t
-+{
-+    kRequired = 0,
-+    kOptional = 1,
-+    kIgnored = 2,
-+};
-+
-+enum class KvsLoad : std::uint8_t
-+{
-+    kRequired = 0,
-+    kOptional = 1,
-+    kIgnored = 2,
-+};
-+
-+/// @brief Stub KvsBuilder — build() always returns an empty (failure) Result.
-+class KvsBuilder final
-+{
-+  public:
-+    explicit KvsBuilder(const InstanceId& /*instance_id*/) {}
-+
-+    KvsBuilder& Defaults(const KvsDefaults& /*mode*/) noexcept
-+    {
-+        return *this;
-+    }
-+    KvsBuilder& KvsLoad(const score::mw::per::kvs::KvsLoad& /*mode*/) noexcept
-+    {
-+        return *this;
-+    }
-+    KvsBuilder& WorkingDir(const std::string& /*working_dir*/) noexcept
-+    {
-+        return *this;
-+    }
-+
-+    score::Result> build() noexcept
-+    {
-+        return score::Result>{std::make_unique()};
-+    }
-+};
-+
-+}  // namespace score::mw::per::kvs
-+
-+#endif  // SCORE_LIB_KVS_KVSBUILDER_HPP
-diff --git a/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
-new file mode 100644
---- /dev/null
-+++ b/score/config_management/config_daemon/code/data_model/parameter_set_storage/details/score_kvs_stub/score/kvs/kvs_value.h
-@@ -0,0 +1,78 @@
-+// *******************************************************************************
-+// Copyright (c) 2025 Contributors to the Eclipse Foundation
-+//
-+// See the NOTICE file(s) distributed with this work for additional
-+// information regarding copyright ownership.
-+//
-+// This program and the accompanying materials are made available under the
-+// terms of the Apache License Version 2.0 which is available at
-+// https://www.apache.org/licenses/LICENSE-2.0
-+//
-+// SPDX-License-Identifier: Apache-2.0
-+// *******************************************************************************
-+
-+#ifndef SCORE_LIB_KVS_KVSVALUE_HPP
-+#define SCORE_LIB_KVS_KVSVALUE_HPP
-+
-+#include "score/result/result.h"
-+
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+
-+namespace score::mw::per::kvs
-+{
-+
-+class KvsValue final
-+{
-+  public:
-+    using Array = std::vector>;
-+    using Object = std::unordered_map>;
-+
-+    // NOLINTBEGIN(readability-identifier-naming) — enum constants mirror real score-persistency KvsValue::Type
-+    enum class Type
-+    {
-+        i32,
-+        u32,
-+        i64,
-+        u64,
-+        f64,
-+        Boolean,
-+        String,
-+        Null,
-+        Array,
-+        Object
-+    };
-+    // NOLINTEND(readability-identifier-naming)
-+
-+    explicit KvsValue(const std::string& str) : value_{str}, type_{Type::String} {}
-+    explicit KvsValue(std::string&& str) : value_{std::move(str)}, type_{Type::String} {}
-+    explicit KvsValue(Type type) : value_{std::string{}}, type_{type} {}
-+
-+    KvsValue(const KvsValue&) = default;
-+    KvsValue& operator=(const KvsValue&) = default;
-+    KvsValue(KvsValue&&) noexcept = default;
-+    KvsValue& operator=(KvsValue&&) noexcept = default;
-+
-+    // NOLINTBEGIN(readability-identifier-naming) — method names mirror real score-persistency KvsValue API
-+    Type getType() const noexcept
-+    {
-+        return type_;
-+    }
-+
-+    const std::variant& getValue() const noexcept
-+    {
-+        return value_;
-+    }
-+    // NOLINTEND(readability-identifier-naming)
-+
-+  private:
-+    std::variant value_;
-+    Type type_{Type::Null};
-+};
-+
-+}  // namespace score::mw::per::kvs
-+
-+#endif  // SCORE_LIB_KVS_KVSVALUE_HPP
-diff --git a/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp b/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
---- a/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
-+++ b/score/config_management/config_daemon/code/factory/details/factory_mw_impl.cpp
-@@ -18,7 +18,7 @@
- #include "score/config_management/config_daemon/code/fault_event_reporter/details/fault_event_reporter_score_impl.h"
- #include "score/config_management/config_daemon/code/json_helper/details/json_helper_impl.h"
- 
--#include "kvsbuilder.hpp"
-+#include "score/kvs/kvs_builder.h"
- #include "score/config_management/config_daemon/code/plugins/plugin_collector/details/plugin_collector_impl.h"
- #include "score/config_management/config_daemon/code/services/details/internal_config_provider_service_reactor_impl.h"
- #include "score/config_management/config_daemon/code/services/details/mw_com/internal_config_provider_service_impl.h"
-@@ -101,9 +101,9 @@ std::shared_ptr Factory::CreateParam
-     std::vector>& plugins) const
- {
-     auto kvs_result = score::mw::per::kvs::KvsBuilder(score::mw::per::kvs::InstanceId{0U})
--                          .need_defaults_flag(false)
--                          .need_kvs_flag(false)
--                          .dir("/persistent/trusted/ConfigDaemon")
-+                          .Defaults(score::mw::per::kvs::KvsDefaults::kOptional)
-+                          .KvsLoad(score::mw::per::kvs::KvsLoad::kOptional)
-+                          .WorkingDir("/persistent/trusted/ConfigDaemon")
-                           .build();
-     if (!kvs_result.has_value())
-     {
diff --git a/showcases/standalone/BUILD b/showcases/standalone/BUILD
index 0bb5b946e8d..44b63e50d49 100644
--- a/showcases/standalone/BUILD
+++ b/showcases/standalone/BUILD
@@ -76,7 +76,7 @@ score_pkg_bundle(
         "//showcases/standalone:config_management.score.json",
     ],
     custom_layout = {
-        "@score_config_management//score/config_management/config_daemon/code/services/details/mw_com:mw_com_config": "etc/mw_com_config.json",
+        "@score_config_management//score/config_management/config_daemon/config:mw_com_config": "etc/mw_com_config.json",
         "@score_config_management//score/config_management/config_daemon/code/plugins/demo_json:demo_parameters": "etc/demo_parameters.json",
     },
     package_dir = "standalone",

From 60b16c3ef0eaa53ead2adb0166344f5f7026af16 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 11:13:51 +0100
Subject: [PATCH 36/80] Refresh MODULE.bazel.lock after rebase onto
 release_candidate_010

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 MODULE.bazel.lock | 900 ----------------------------------------------
 1 file changed, 900 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 6b3a9db7b7d..e85ae02397f 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -16,7 +16,6 @@
     "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1",
     "https://bcr.bazel.build/modules/abseil-cpp/20250512.0/MODULE.bazel": "c4d02dd22cd87458516655a45512060246ee2a4732f1fbe948a5bd9eb614e626",
     "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215",
-    "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/source.json": "d725d73707d01bb46ab3ca59ba408b8e9bd336642ca77a2269d4bfb8bbfd413d",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.0/MODULE.bazel": "c43c16ca2c432566cdb78913964497259903ebe8fb7d9b57b38e9f1425b427b8",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2",
     "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c",
@@ -31,10 +30,8 @@
     "https://bcr.bazel.build/modules/apple_support/1.22.1/MODULE.bazel": "90bd1a660590f3ceffbdf524e37483094b29352d85317060b2327fff8f3f4458",
     "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442",
     "https://bcr.bazel.build/modules/apple_support/1.24.1/MODULE.bazel": "f46e8ddad60aef170ee92b2f3d00ef66c147ceafea68b6877cb45bd91737f5f8",
-    "https://bcr.bazel.build/modules/apple_support/1.24.1/source.json": "cf725267cbacc5f028ef13bb77e7f2c2e0066923a4dab1025e4a0511b1ed258a",
     "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4",
     "https://bcr.bazel.build/modules/apple_support/2.8.0/MODULE.bazel": "c45f5176057092afba0be6c48a9ea02101666802f8be536947e099e94757f8ed",
-    "https://bcr.bazel.build/modules/apple_support/2.8.0/source.json": "b7f6d87669c206adaa7d82cc44733349c63e341b80a0e049496ebd91d78c3472",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/MODULE.bazel": "fb209b83ed172af587419acb3340389cfe3260669e5f1c05e1ac3974aca614e0",
     "https://bcr.bazel.build/modules/apple_support/2.9.1/source.json": "247d9f86d94c546533fb01e6e18b018486f9a6dff5faccae8838ef12e659b2a7",
     "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f",
@@ -53,7 +50,6 @@
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838",
     "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "66baf724dbae7aff4787bf2245cc188d50cb08e07789769730151c0943587c14",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "77dc393c43ad79398b05865444c5200c6f1aae6765615544f2c7730b5858d533",
-    "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/source.json": "062b1d3dba8adcfeb28fe60c185647f5a53ec0487ffe93cf0ae91566596e4b49",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/MODULE.bazel": "9b437a9ec25a619304940434fa03b8d41248213eb7009da2c898f3d6a4075ef3",
     "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.23.0/source.json": "7b4cac4e61bae4262e7f67f6bec0b200fcb9060044f12e84a3bc37e0be245de7",
     "https://bcr.bazel.build/modules/aspect_rules_js/1.33.1/MODULE.bazel": "db3e7f16e471cf6827059d03af7c21859e7a0d2bc65429a3a11f005d46fc501b",
@@ -62,7 +58,6 @@
     "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/MODULE.bazel": "74bf20a7a6bd5f2be09607fdb4196cfd6f203422ea271752ec2b1afe95426101",
     "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836",
     "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed",
-    "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "1f4c81edd9af0c54e65dedbe36653fc63dc9a91605313d54d5ab371f853d693c",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "4d36bce3c1347bb4fed5906877dce0e683cb207f4032711aff32334003bcf835",
     "https://bcr.bazel.build/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "24f49acb3b8375fa138ba6ab53bcf517ae92529770a04ab04d47c958ff47b63e",
@@ -86,7 +81,6 @@
     "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d",
     "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a",
     "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58",
-    "https://bcr.bazel.build/modules/bazel_features/1.2.0/MODULE.bazel": "122b2b606622afbaa498913d54f52d9bcd2d19a5edd1bd6d6c5aa17441c4d5f9",
     "https://bcr.bazel.build/modules/bazel_features/1.20.0/MODULE.bazel": "8b85300b9c8594752e0721a37210e34879d23adc219ed9dc8f4104a4a1750920",
     "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b",
     "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a",
@@ -228,7 +222,6 @@
     "https://bcr.bazel.build/modules/boringssl/0.20241024.0/MODULE.bazel": "b540cff73d948cb79cb0bc108d7cef391d2098a25adabfda5043e4ef548dbc87",
     "https://bcr.bazel.build/modules/boringssl/0.20251124.0/MODULE.bazel": "1e107f2b52cc5e002924bc3b33bb60516f96f91b51eb523127df9ea9a944a3b4",
     "https://bcr.bazel.build/modules/boringssl/0.20251124.0/source.json": "2f325a76db6c6e14c4db923a26aa9a4bfbbd03e61b9256311f460c18bfba6013",
-    "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "37389c6b5a40c59410b4226d3bb54b08637f393d66e2fa57925c6fcf68e64bf4",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "537faf0ad9f5892910074b8e43b4c91c96f1d5d86b6ed04bdbe40cf68aa48b68",
     "https://bcr.bazel.build/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "a9b689711d5b69f9db741649b218c119b9fdf82924ba390415037e09798edd03",
@@ -239,19 +232,16 @@
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/MODULE.bazel": "29ecf4babfd3c762be00d7573c288c083672ab60e79c833ff7f49ee662e54471",
     "https://bcr.bazel.build/modules/bzip2/1.0.8.bcr.3/source.json": "8be4a3ef2599693f759e5c0990a4cc5a246ac08db4c900a38f852ba25b5c39be",
     "https://bcr.bazel.build/modules/c-ares/1.15.0/MODULE.bazel": "ba0a78360fdc83f02f437a9e7df0532ad1fbaa59b722f6e715c11effebaa0166",
-    "https://bcr.bazel.build/modules/c-ares/1.15.0/source.json": "5e3ed991616c5ec4cc09b0893b29a19232de4a1830eb78c567121bfea87453f7",
     "https://bcr.bazel.build/modules/c-ares/1.19.1/MODULE.bazel": "73bca21720772370ff91cc8e88bbbaf14897720c6473e87c1ddc0f848284c313",
     "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "f4632f68dbc075342966477d9c94a8a4a299d91e155980b042e1cd9f5a7ebcf5",
     "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/source.json": "55fae1e004176f6cb36efcc77de9894f799d985f482b8f82fec989d556745a84",
     "https://bcr.bazel.build/modules/cel-spec/0.15.0/MODULE.bazel": "e1eed53d233acbdcf024b4b0bc1528116d92c29713251b5154078ab1348cb600",
-    "https://bcr.bazel.build/modules/cel-spec/0.15.0/source.json": "ab7dccdf21ea2261c0f809b5a5221a4d7f8b580309f285fdf1444baaca75d44a",
     "https://bcr.bazel.build/modules/cel-spec/0.24.0/MODULE.bazel": "e310c7aff8490ed689ccafd32729b77a660b9547f5a5ba9b20e967011c324b36",
     "https://bcr.bazel.build/modules/cel-spec/0.24.0/source.json": "522d08bc22524e07863276dd0f038f446a83166e91281dcfc07d5b8433c8d89e",
     "https://bcr.bazel.build/modules/civetweb/1.16/MODULE.bazel": "46a38f9daeb57392e3827fce7d40926be0c802bd23cdd6bfd3a96c804de42fae",
     "https://bcr.bazel.build/modules/civetweb/1.16/source.json": "ba8b9585adb8355cb51b999d57172fd05e7a762c56b8d4bac6db42c99de3beb7",
     "https://bcr.bazel.build/modules/curl/8.4.0/MODULE.bazel": "0bc250aa1cb69590049383df7a9537c809591fcf876c620f5f097c58fdc9bc10",
     "https://bcr.bazel.build/modules/curl/8.7.1/MODULE.bazel": "088221c35a2939c555e6e47cb31a81c15f8b59f4daa8009b1e9271a502d33485",
-    "https://bcr.bazel.build/modules/curl/8.7.1/source.json": "bf9890e809717445b10a3ddc323b6d25c46631589c693a232df8310a25964484",
     "https://bcr.bazel.build/modules/curl/8.8.0/MODULE.bazel": "7da3b3e79b0b4ee8f8c95d640bc6ad7b430ce66ef6e9c9d2bc29b3b5ef85f6fe",
     "https://bcr.bazel.build/modules/curl/8.8.0/source.json": "d7d138b6878cf38891692fee0649ace35357fd549b425614d571786f054374d4",
     "https://bcr.bazel.build/modules/cxx.rs/1.0.186/MODULE.bazel": "af6d2cf790d198754250b1bf1dc36c671f2006ffff7ea1e19ee13972347ef16f",
@@ -264,14 +254,12 @@
     "https://bcr.bazel.build/modules/download_utils/1.2.2/MODULE.bazel": "7d185ec9dd3c5ee277f269e3a8e5f09b9de4cb7ba34d06b93dce9bf41c1279f8",
     "https://bcr.bazel.build/modules/download_utils/1.2.2/source.json": "c88be2bc48c98371d35665b805f307a647c98c83327345c918d9088822d77928",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "24e05f6f52f37be63a795192848555a2c8c855e7814dbc1ed419fb04a7005464",
-    "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/source.json": "212043ab69d87f7a04aa4f627f725b540cff5e145a3a31a9403d8b6ec2e920c9",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20250128-4de3c74/MODULE.bazel": "1fe72489212c530086e3ffb0e018b2bfef4663200ca03571570f9f006bef1d75",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/MODULE.bazel": "b66e87a0e0c2207f07e35c321388eb1feb036344565977444b52912c53a84466",
     "https://bcr.bazel.build/modules/envoy_api/0.0.0-20251105-4a2b9a3/source.json": "c4780edf780977f2ab7d00a189432c5b0b2fa08c6e4e2e09d2950499364a687d",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/MODULE.bazel": "e0292ad82ecfc94217bf07d2a5a546f1ccbcd931b3a85f0841c10c035a168bf6",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19.bcr.1/source.json": "4a507d687de21eb596ad2709671eb4684d94f1604f8f3760b4c079bb0a12224e",
     "https://bcr.bazel.build/modules/flatbuffers/25.12.19/MODULE.bazel": "fe3a7f7811f43264f68136ad99e64384d70b2a25245e09ab800c4bb83171da25",
-    "https://bcr.bazel.build/modules/flatbuffers/25.12.19/source.json": "ea0204be7a79de9141cee5fa436e58a14e88b39b5b59227b21efa0394474ebea",
     "https://bcr.bazel.build/modules/flatbuffers/25.9.23/MODULE.bazel": "32753ba60bf3bacfe7737c0f3e8e3e55624b19af5d398c485580d57492d145d8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8",
     "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.3/MODULE.bazel": "f1b7bb2dd53e8f2ef984b39485ec8a44e9076dda5c4b8efd2fb4c6a6e856a31d",
@@ -286,11 +274,8 @@
     "https://bcr.bazel.build/modules/gazelle/0.39.1/MODULE.bazel": "1fa3fefad240e535066fd0e6950dfccd627d36dc699ee0034645e51dbde3980f",
     "https://bcr.bazel.build/modules/gazelle/0.40.0/MODULE.bazel": "42ba5378ebe845fca43989a53186ab436d956db498acde790685fe0e8f9c6146",
     "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da",
-    "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6",
     "https://bcr.bazel.build/modules/gazelle/0.46.0/MODULE.bazel": "3dec215dacf2427df87b524a2c99da387882a18d753f0b1b38675992bd0a99c6",
     "https://bcr.bazel.build/modules/gazelle/0.46.0/source.json": "f255441117f6c63a3cbc0d4fd84c09c047e54a9bdaaf6aedf66e3b4218ddebd4",
-    "https://bcr.bazel.build/modules/gazelle/0.51.3/MODULE.bazel": "618a729142f66de1e2cb776d026413763be5b80d5e3d29ffb9d3d90c5defde90",
-    "https://bcr.bazel.build/modules/gazelle/0.51.3/source.json": "fbe5312a01fb4a2a58caff4a0d40dcf384b6f0bda75e85546663360da1d7538a",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e",
     "https://bcr.bazel.build/modules/google_benchmark/1.8.5/MODULE.bazel": "9ba9b31b984022828a950e3300410977eda2e35df35584c6b0b2d0c2e52766b7",
@@ -307,7 +292,6 @@
     "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/source.json": "cf611c836a60e98e2e2ab2de8004f119e9f06878dcf4ea2d95a437b1b7a89fe9",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "117b7c7be7327ed5d6c482274533f2dbd78631313f607094d4625c28203cacdf",
-    "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/source.json": "b31fc7eb283a83f71d2e5bfc3d1c562d2994198fa1278409fbe8caec3afc1d3e",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20241220-5e258e33.bcr.1/MODULE.bazel": "ee6c30f82ecd476e61f019fb1151aaab380ea419958ff274ef2f0efca7969f5c",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/MODULE.bazel": "cc9e5ed294ed9ebf42cdbbdddd2df29048519e3797004df1e3f369f31ff4f2d4",
     "https://bcr.bazel.build/modules/googleapis/0.0.0-20251003-2193a2bf/source.json": "21558a194c519e27262cca9cf031bb166a666a8b7fb89993b700c828f8dc0857",
@@ -330,7 +314,6 @@
     "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "f6047e89faf488f5e3e65cb2594c6f5e86992abec7487163ff6b623526e543b0",
     "https://bcr.bazel.build/modules/grpc/1.69.0/MODULE.bazel": "4e26e05c9e1ef291ccbc96aad8e457b1b8abedbc141623831629da2f8168eef6",
     "https://bcr.bazel.build/modules/grpc/1.70.1/MODULE.bazel": "b800cd8e3e7555c1e61cba2e02d3a2fcf0e91f66e800db286d965d3b7a6a721a",
-    "https://bcr.bazel.build/modules/grpc/1.70.1/source.json": "e2977ea6cf9f2755418934d4ae134a6569713dd200fd7aded86a4b7f1b86efc9",
     "https://bcr.bazel.build/modules/grpc/1.71.0/MODULE.bazel": "7fcab2c05530373f1a442c362b17740dd0c75b6a2a975eec8f5bf4c70a37928a",
     "https://bcr.bazel.build/modules/grpc/1.74.1/MODULE.bazel": "09523be10ba2bfd999683671d0f8f22fb5b20ec77ad89b05ef58ff19a1b65c82",
     "https://bcr.bazel.build/modules/grpc/1.76.0/MODULE.bazel": "7373bd407fcb183b8bf379fa35dfe29feebdc6d8ec1bc40004cec6c7b2544be0",
@@ -356,7 +339,6 @@
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/MODULE.bazel": "cc18734138dd18c912c6ce2a59186db28f85d8058c99c9f21b46ca3e0aba0ebe",
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/source.json": "7c135f9d42bb3b045669c3c6ab3bb3c208e00b46aca4422eea64c29811a5b240",
     "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "02201d2921dadb4ec90c4980eca4b2a02904eddcf6fa02f3da7594fb7b0d821c",
-    "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/source.json": "f50efc07822f5425bd1d3e40e977484f9c0142463052717d40ec85cd6744243e",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "789706a714855f92c5c8cfcf1ef32bbb64dcd3b7c9066756ad7986ec59709d29",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/source.json": "aadf3f53e08b72376506b7c4ea3d167010c9efb160d7d6e1e304ed646bac1b36",
     "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/MODULE.bazel": "4a2e8b4d0b544002502474d611a5a183aa282251e14f6a01afe841c0c1b10372",
@@ -365,13 +347,11 @@
     "https://bcr.bazel.build/modules/openssl/3.5.5.bcr.4/source.json": "662d68be9227e60ef65fed83c6820564bda4af0efe6a40dc62dd9aee288fe9cf",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "089a5613c2a159c7dfde098dabfc61e966889c7d6a81a98422a84c51535ed17d",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "b7379a140f538cea3f749179a2d481ed81942cc6f7b05a6113723eb34ac3b3e7",
-    "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/source.json": "da0cf667713b1e48d7f8912b100b4e0a8284c8a95717af5eb8c830d699e61cf5",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/MODULE.bazel": "3455326c08b28415648a3d60d8e3c811847ebdbe64474f75b25878f25585aea1",
     "https://bcr.bazel.build/modules/opentelemetry-cpp/1.19.0/source.json": "4e48137e4c3ecb99401ff99876df8fa330598d7da051869bec643446e8a8ff95",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.1.0/MODULE.bazel": "a49f406e99bf05ab43ed4f5b3322fbd33adfd484b6546948929d1316299b68bf",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.3.1/MODULE.bazel": "0141a50e989576ee064c11ce8dd5ec89993525bd9f9a09c5618e4dacc8df9352",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/MODULE.bazel": "5ceaf25e11170d22eded4c8032728b4a3f273765fccda32f9e94f463755c4167",
-    "https://bcr.bazel.build/modules/opentelemetry-proto/1.4.0.bcr.1/source.json": "fb9e01517460cfad8bafab082f2e1508d3cc2b7ed700cff19f3c7c84b146e5eb",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/MODULE.bazel": "7543d91a53b98e7b5b37c5a0865b93bff12c1ee022b1e322cd236b968894b030",
     "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/source.json": "046b721ce203e88cdaad44d7dd17a86b7200eab9388b663b234e72e13ff7b143",
     "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/MODULE.bazel": "b3925269f63561b8b880ae7cf62ccf81f6ece55b62cd791eda9925147ae116ec",
@@ -397,7 +377,6 @@
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/MODULE.bazel": "116ad46e97c1d2aeb020fe2899a342a7e703574ce7c0faf7e4810f938c974a9a",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/source.json": "e813cce2d450708cfcb26e309c5172583a7440776edf354e83e6788c768e5cca",
     "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/MODULE.bazel": "ce82e086bbc0b60267e970f6a54b2ca6d0f22d3eb6633e00e2cc2899c700f3d8",
-    "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/source.json": "8cb66b4e535afc718e9d104a3db96ccb71a42ee816a100e50fd0d5ac843c0606",
     "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7",
     "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a",
     "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12",
@@ -419,14 +398,12 @@
     "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858",
     "https://bcr.bazel.build/modules/protobuf/30.0/MODULE.bazel": "0e736de5d52ad7824113f47e65256a26ee74b689ba859c5447a0663e5a075409",
     "https://bcr.bazel.build/modules/protobuf/31.1/MODULE.bazel": "379a389bb330b7b8c1cdf331cc90bf3e13de5614799b3b52cdb7c6f389f6b38e",
-    "https://bcr.bazel.build/modules/protobuf/31.1/source.json": "25af5d0219da0c0fc4d1191a24ce438e6ca7f49d2e1a94f354efeba6ef10426f",
     "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d",
     "https://bcr.bazel.build/modules/protobuf/33.0/MODULE.bazel": "c5270efb4aad37a2f893536076518793f409ea7df07a06df995d848d1690f21c",
     "https://bcr.bazel.build/modules/protobuf/33.0/source.json": "cd7ac80ad863190b9151281a85acc11d77b5bde2ba56443a7215da2d4ace6da3",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "c4bd2c850211ff5b7dadf9d2d0496c1c922fdedc303c775b01dfd3b3efc907ed",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "b8913c154b16177990f6126d2d2477d187f9ddc568e95ee3e2d50fc65d2c494a",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "4bf09676b62fa587ae07e073420a76ec8766dcce7545e5f8c68cfa8e484b5120",
-    "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/source.json": "c19071ebc4b53b5f1cfab9c66eefaf6e4179eb8a998970d07b1077687e777f29",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/MODULE.bazel": "3bd4b14a8e7c78dbef973280deabaa139db1fe350aa92da03730a31f59082068",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.2/source.json": "14c28a5527fcd699f5efbf83a046666efabed3384364bd48428de89dfdc8110e",
     "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1/MODULE.bazel": "52b51f50533ec4fbd5d613cd093773f979ac2e035d954e02ca11de383f502505",
@@ -448,15 +425,12 @@
     "https://bcr.bazel.build/modules/rules_android/0.6.6/source.json": "a9d8dc2d5a102dc03269a94acc886a4cab82cdcb9ccbc77b0f665d6d17a6ae09",
     "https://bcr.bazel.build/modules/rules_apple/3.13.0/MODULE.bazel": "b4559a2c6281ca3165275bb36c1f0ac74666632adc5bdb680e366de7ce845f43",
     "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a",
-    "https://bcr.bazel.build/modules/rules_apple/3.16.0/source.json": "d8b5fe461272018cc07cfafce11fe369c7525330804c37eec5a82f84cd475366",
     "https://bcr.bazel.build/modules/rules_apple/3.5.1/MODULE.bazel": "3d1bbf65ad3692003d36d8a29eff54d4e5c1c5f4bfb60f79e28646a924d9101c",
     "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68",
     "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715",
     "https://bcr.bazel.build/modules/rules_buf/0.1.1/MODULE.bazel": "6189aec18a4f7caff599ad41b851ab7645d4f1e114aa6431acf9b0666eb92162",
     "https://bcr.bazel.build/modules/rules_buf/0.5.2/MODULE.bazel": "5f2492d284ab9bedf2668178303abf5f3cd7d8cdf85d768951008e88456e9c6a",
     "https://bcr.bazel.build/modules/rules_buf/0.5.2/source.json": "41876d4834c0832de4b393de6e55dfd1cb3b25d3109e4ba90eb7fb57c560e0d9",
-    "https://bcr.bazel.build/modules/rules_build_error/0.11.0/MODULE.bazel": "8a38981f82bb55ac4592a1bd14b0510deff7c7851b68b4ebc1ca2012e2aad427",
-    "https://bcr.bazel.build/modules/rules_build_error/0.11.0/source.json": "aa91cf45d69d0f6068fd20612a028e978ae2a195ee556a4fa87c7086b8c2dfdf",
     "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647",
     "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002",
     "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191",
@@ -479,10 +453,7 @@
     "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4",
     "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84",
     "https://bcr.bazel.build/modules/rules_cc/0.2.20/MODULE.bazel": "f5c07bce5ddcb99be21a0812ff5aadb439e688b7449c6542152363b2fd859c1a",
-    "https://bcr.bazel.build/modules/rules_cc/0.2.22/MODULE.bazel": "94df4328edef9e44d38de5e73b037cd348e75e7ae55f4e21bf07878c41a31ebb",
-    "https://bcr.bazel.build/modules/rules_cc/0.2.22/source.json": "b2d6d6f9c332ce269ad75b89c6f3168d809a66173c9040210fb9bcc733ab42fa",
     "https://bcr.bazel.build/modules/rules_cc/0.2.25/MODULE.bazel": "4a3d4f3606d3b3190be495dbc497acca552807d1d5540661ef0d1658472882e3",
-    "https://bcr.bazel.build/modules/rules_cc/0.2.25/source.json": "8df28a9a97b878fe45f0a4f4adf019869dda51a60ee2f6e15a0c79656a25058d",
     "https://bcr.bazel.build/modules/rules_cc/0.2.26/MODULE.bazel": "a9f7b7f4a52747910965bddb1f58fc1fef50604ed1980ebdd16ea6f446d92249",
     "https://bcr.bazel.build/modules/rules_cc/0.2.26/source.json": "bf9ff315da6055c1e374d627012cc51947a05b3560674af7d69fbedbb4fde6ef",
     "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc",
@@ -504,14 +475,10 @@
     "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0",
     "https://bcr.bazel.build/modules/rules_go/0.51.0-rc2/MODULE.bazel": "edfc3a9cea7bedb0eaaff37b0d7817c1a4bf72b3c615580b0ffcee6c52690fd4",
     "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f",
-    "https://bcr.bazel.build/modules/rules_go/0.51.0/source.json": "473c0263360b1ae3aca71758e001d257a638620b2e2a36e3a2721fdae04377ec",
     "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a",
     "https://bcr.bazel.build/modules/rules_go/0.58.3/MODULE.bazel": "5582119a4a39558d8d1b1634bcae46043d4f43a31415e861c3551b2860040b5e",
-    "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae",
     "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb",
     "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464",
-    "https://bcr.bazel.build/modules/rules_go/0.64.2/MODULE.bazel": "178287400ec88bc4e20c048b5cf9b8e619d9879eb6118592f8572e49d5342c74",
-    "https://bcr.bazel.build/modules/rules_go/0.64.2/source.json": "322caa7c76104d7c03d5b3cc097836b47ab20c5f14b92b6c6bdcffe6a2e732d2",
     "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74",
     "https://bcr.bazel.build/modules/rules_java/5.1.0/MODULE.bazel": "324b6478b0343a3ce7a9add8586ad75d24076d6d43d2f622990b9c1cfd8a1b15",
     "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86",
@@ -533,7 +500,6 @@
     "https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e",
     "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615",
     "https://bcr.bazel.build/modules/rules_java/8.15.1/MODULE.bazel": "5071eebf0fd602ab0617f846e0e0d8f388d66c961513c736e0ac4a1dcde3ff2c",
-    "https://bcr.bazel.build/modules/rules_java/8.15.1/source.json": "e48286d5819767bc5b3d457539ae7f94e28a9b3e55d092d5c47176cb6a2a289b",
     "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3",
     "https://bcr.bazel.build/modules/rules_java/8.16.1/source.json": "072f8d11264edc499621be2dc9ea01d6395db5aa6f8799c034ae01a3e857f2e4",
     "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017",
@@ -565,7 +531,6 @@
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/MODULE.bazel": "32d628ef586b5b23f67e55886b7bc38913ea4160420d66ae90521dda2ff37df0",
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/source.json": "e882ba77962fa6c5fe68619e5c7d0374ec9a219fb8d03c42eadaf6d0243771bd",
     "https://bcr.bazel.build/modules/rules_multitool/0.11.0/MODULE.bazel": "8d9dda78d2398e136300d3ef4fbcc89ede7c32c158d8c016fa7d032df41c4aaf",
-    "https://bcr.bazel.build/modules/rules_multitool/0.4.0/MODULE.bazel": "15517987d5c00c9e7faab41fbe22ee67a350b6eabcc1e08baded5c6d9025897f",
     "https://bcr.bazel.build/modules/rules_multitool/1.9.0/MODULE.bazel": "8a042b0dbf35e4aaa94c28ad69efa75c9e673e9ea4bd5c0fb70bab75ef9c636b",
     "https://bcr.bazel.build/modules/rules_multitool/1.9.0/source.json": "d9a01604a8b5c4a0e9430824dd34ca5b1b3f5b25277b755e8f3ae91f2c9362a3",
     "https://bcr.bazel.build/modules/rules_nodejs/5.8.2/MODULE.bazel": "6bc03c8f37f69401b888023bf511cb6ee4781433b0cb56236b2e55a21e3a026a",
@@ -586,7 +551,6 @@
     "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06",
     "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7",
     "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483",
-    "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "e17f94f8a347e2c808517b65d74988839d2d62daceb50073e44060193b785eb1",
     "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f",
     "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73",
     "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2",
@@ -637,7 +601,6 @@
     "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca",
     "https://bcr.bazel.build/modules/rules_swift/1.18.0/MODULE.bazel": "a6aba73625d0dc64c7b4a1e831549b6e375fbddb9d2dde9d80c9de6ec45b24c9",
     "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046",
-    "https://bcr.bazel.build/modules/rules_swift/2.1.1/source.json": "40fc69dfaac64deddbb75bd99cdac55f4427d9ca0afbe408576a65428427a186",
     "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd",
     "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400",
     "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66",
@@ -652,7 +615,6 @@
     "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5",
     "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91",
-    "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/source.json": "32bd87e5f4d7acc57c5b2ff7c325ae3061d5e242c0c4c214ae87e0f1c13e54cb",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f",
     "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b",
     "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468",
@@ -663,7 +625,6 @@
     "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/MODULE.bazel": "9b8be503a4fcfd3b8b952525bff0869177a5234d5c35dc3e566b9f5ca2f755a1",
     "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/MODULE.bazel": "68259b66e5fb84f94fa37125ad476c3eb8edf602a34bf58377cde9a16dd8fa98",
     "https://bcr.bazel.build/modules/toolchains_llvm/1.8.0/source.json": "70d80fe5b626a3fadf812af41dda4a028640a1184f5a3c7e6cb20130d93ed783",
-    "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91",
     "https://bcr.bazel.build/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "6cced416be2dc5b9c05efd5b997049ba795e5e4e6fafbe1624f4587767638928",
     "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43",
     "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9",
@@ -738,7 +699,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.5.0/MODULE.bazel": "not found",
@@ -758,7 +718,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.17.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.18.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.19.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.2.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.20.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.21.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.23.0/MODULE.bazel": "not found",
@@ -849,7 +808,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20240913.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20241024.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.20251124.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/6.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/7.3.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/buildifier_prebuilt/8.2.0.2/MODULE.bazel": "not found",
@@ -889,7 +847,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.40.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.44.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.46.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.51.3/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.4/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.5/MODULE.bazel": "not found",
@@ -1012,7 +969,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_apple/4.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_buf/0.1.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_buf/0.5.2/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_build_error/0.11.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.0.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.0.10/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.0.13/MODULE.bazel": "not found",
@@ -1035,7 +991,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.17/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.20/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.22/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.25/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.26/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.4/MODULE.bazel": "not found",
@@ -1058,9 +1013,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.51.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.53.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.58.3/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.59.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.60.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_go/0.64.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/4.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.1.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.3.5/MODULE.bazel": "not found",
@@ -1108,7 +1061,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_license/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multirun/0.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.11.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/5.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.2.0/MODULE.bazel": "not found",
@@ -1125,7 +1077,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/4.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/7.0.2/MODULE.bazel": "not found",
@@ -1181,8 +1132,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/MODULE.bazel": "1acc254faa90e9f97b79ac69af25b6c21c561f8d6079914f6352b9b20d26bd37",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/source.json": "e3d10be878d1a007967b75a5c6d9c3ec3d47c320685904b7f31c689b3cbcdb3a",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
@@ -1191,8 +1140,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/2.0.2/source.json": "5ae55f0dabcddeb5bfae16ce480e2c065f907d2b0ed6a8e4ed7409b259b004ee",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process_description/2.2.2/MODULE.bazel": "b0fd319ef2bed02e26307f2336f967d4d4885ab0538c44605a589797d973c803",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process_description/2.2.2/source.json": "8b974430c3e2023a7534412e2bc03bced4eef9838f3b573739b7652fd26b335c",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/MODULE.bazel": "aaffff67916dd058737aac8e04368f12b214e7646ff58adbab48e6429d1a5410",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/source.json": "c40a614fd88beab7cb65b8640debd44eff3fbc32a7839734ef1112f265d2eeef",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.3.0/MODULE.bazel": "1e4737455108eaf6e482b6cedc2c588b4935c4ec8efcd1c53d81e0dd765247a3",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.3.0/source.json": "07c574f14574ba2cb46fd84eb28600f44599a2c29e1023dbdb777985ee4b80c0",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.3/MODULE.bazel": "d87fcd3485438284fa96d6a5a81923d6b6672468947423517cc43c4d7692ca6a",
@@ -1224,7 +1171,6 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.7.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_llvm/1.8.0/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "not found",
@@ -1842,203 +1788,6 @@
         ]
       }
     },
-    "@@cel-spec+//:extensions.bzl%non_module_dependencies": {
-      "general": {
-        "bzlTransitiveDigest": "49v9UE4eBOMtW8ATb+3VHdFaCc//dFbCS+ZQW0HIKNE=",
-        "usagesDigest": "HFQJtQrL9nKaFZEjgwaHVMHALMW+cafu696xy7J4ueM=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_google_googleapis": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "sha256": "bd8e735d881fb829751ecb1a77038dda4a8d274c45490cb9fcf004583ee10571",
-              "strip_prefix": "googleapis-07c27163ac591955d736f3057b1619ece66f5b99",
-              "urls": [
-                "https://github.com/googleapis/googleapis/archive/07c27163ac591955d736f3057b1619ece66f5b99.tar.gz"
-              ]
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "cel-spec+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
-      }
-    },
-    "@@cel-spec+//:googleapis_ext.bzl%googleapis_ext": {
-      "general": {
-        "bzlTransitiveDigest": "yun2jmsomFi3bs5bjQWXApBzqQf66zBJ39JEBYigzdc=",
-        "usagesDigest": "Ek7VfZ+tuyRBx/1h5wcmtnW9EGpOb0dkXUwBluZbD8k=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_google_googleapis_imports": {
-            "repoRuleId": "@@cel-spec++non_module_dependencies+com_google_googleapis//:repository_rules.bzl%switched_rules",
-            "attributes": {
-              "rules": {
-                "proto_library_with_info": [
-                  "",
-                  ""
-                ],
-                "moved_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_proto_library": [
-                  "",
-                  ""
-                ],
-                "java_grpc_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_library": [
-                  "",
-                  ""
-                ],
-                "java_gapic_test": [
-                  "",
-                  ""
-                ],
-                "java_gapic_assembly_gradle_pkg": [
-                  "",
-                  ""
-                ],
-                "py_proto_library": [
-                  "",
-                  ""
-                ],
-                "py_grpc_library": [
-                  "",
-                  ""
-                ],
-                "py_gapic_library": [
-                  "",
-                  ""
-                ],
-                "py_test": [
-                  "",
-                  ""
-                ],
-                "py_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "py_import": [
-                  "",
-                  ""
-                ],
-                "go_proto_library": [
-                  "",
-                  ""
-                ],
-                "go_library": [
-                  "",
-                  ""
-                ],
-                "go_test": [
-                  "",
-                  ""
-                ],
-                "go_gapic_library": [
-                  "",
-                  ""
-                ],
-                "go_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "cc_proto_library": [
-                  "native.cc_proto_library",
-                  ""
-                ],
-                "cc_grpc_library": [
-                  "",
-                  ""
-                ],
-                "cc_gapic_library": [
-                  "",
-                  ""
-                ],
-                "php_proto_library": [
-                  "",
-                  "php_proto_library"
-                ],
-                "php_grpc_library": [
-                  "",
-                  "php_grpc_library"
-                ],
-                "php_gapic_library": [
-                  "",
-                  "php_gapic_library"
-                ],
-                "php_gapic_assembly_pkg": [
-                  "",
-                  "php_gapic_assembly_pkg"
-                ],
-                "nodejs_gapic_library": [
-                  "",
-                  "typescript_gapic_library"
-                ],
-                "nodejs_gapic_assembly_pkg": [
-                  "",
-                  "typescript_gapic_assembly_pkg"
-                ],
-                "ruby_proto_library": [
-                  "",
-                  ""
-                ],
-                "ruby_grpc_library": [
-                  "",
-                  ""
-                ],
-                "ruby_ads_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_cloud_gapic_library": [
-                  "",
-                  ""
-                ],
-                "ruby_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ],
-                "csharp_proto_library": [
-                  "",
-                  ""
-                ],
-                "csharp_grpc_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_library": [
-                  "",
-                  ""
-                ],
-                "csharp_gapic_assembly_pkg": [
-                  "",
-                  ""
-                ]
-              }
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "cel-spec+",
-            "com_google_googleapis",
-            "cel-spec++non_module_dependencies+com_google_googleapis"
-          ]
-        ]
-      }
-    },
     "@@envoy_api+//bazel:repositories.bzl%non_module_deps": {
       "general": {
         "bzlTransitiveDigest": "ZZmkeUj6sKBhRPx7KC3Ko/bFvj0z/1JGGmJwq07Bjz8=",
@@ -2177,126 +1926,6 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": {
-      "general": {
-        "bzlTransitiveDigest": "kxAYy1bmzZuPVOwFa9NVrtR2OsCk7+A9VzGQpTzQ+i0=",
-        "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "local_provisioning_profiles": {
-            "repoRuleId": "@@rules_apple+//apple/internal:local_provisioning_profiles.bzl%provisioning_profile_repository",
-            "attributes": {}
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "apple_support+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "bazel_tools",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_apple+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_apple+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_apple+",
-            "build_bazel_apple_support",
-            "apple_support+"
-          ],
-          [
-            "rules_apple+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ],
-          [
-            "rules_cc+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ],
-          [
-            "rules_cc+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_swift+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_swift+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_apple_support",
-            "apple_support+"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift_local_config",
-            "rules_swift++non_module_deps+build_bazel_rules_swift_local_config"
-          ]
-        ]
-      }
-    },
-    "@@rules_apple+//apple:extensions.bzl%non_module_deps": {
-      "general": {
-        "bzlTransitiveDigest": "4xtddSlWIQdtVNVuvOI62fJfQVETHZCVWFvYYwQHMR4=",
-        "usagesDigest": "M3VqFpeTCo4qmrNKGZw0dxBHvTYDrfV3cscGzlSAhQ4=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "xctestrunner": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/google/xctestrunner/archive/b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6.tar.gz"
-              ],
-              "strip_prefix": "xctestrunner-b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6",
-              "sha256": "ae3a063c985a8633cb7eb566db21656f8db8eb9a0edb8c182312c7f0db53730d"
-            }
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_apple+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
-      }
-    },
     "@@rules_boost+//:boost/repositories.bzl%non_module_dependencies": {
       "general": {
         "bzlTransitiveDigest": "LyNJAJDFfdhRYUCeGd1OJlb0/cdtrEpQca0MpJy9l6w=",
@@ -11236,165 +10865,6 @@
         ]
       }
     },
-    "@@rules_swift+//swift:extensions.bzl%non_module_deps": {
-      "general": {
-        "bzlTransitiveDigest": "6axDCXf6fQoPav8hojnUBxGA0FAMqLvtpC1cRsisCdw=",
-        "usagesDigest": "mhACFnrdMv9Wi0Mt67bxocJqviRkDSV+Ee5Mqdj5akA=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {
-          "com_github_apple_swift_protobuf": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz"
-              ],
-              "sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb",
-              "strip_prefix": "swift-protobuf-1.20.2/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay"
-            }
-          },
-          "com_github_grpc_grpc_swift": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz"
-              ],
-              "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5",
-              "strip_prefix": "grpc-swift-1.16.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_docc_symbolkit": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-docc-symbolkit/archive/refs/tags/swift-5.10-RELEASE.tar.gz"
-              ],
-              "sha256": "de1d4b6940468ddb53b89df7aa1a81323b9712775b0e33e8254fa0f6f7469a97",
-              "strip_prefix": "swift-docc-symbolkit-swift-5.10-RELEASE",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_docc_symbolkit/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz"
-              ],
-              "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0",
-              "strip_prefix": "swift-nio-2.42.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_http2": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz"
-              ],
-              "sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25",
-              "strip_prefix": "swift-nio-http2-1.26.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_transport_services": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz"
-              ],
-              "sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262",
-              "strip_prefix": "swift-nio-transport-services-1.15.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_extras": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz"
-              ],
-              "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b",
-              "strip_prefix": "swift-nio-extras-1.4.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_log": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-log/archive/1.4.4.tar.gz"
-              ],
-              "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0",
-              "strip_prefix": "swift-log-1.4.4/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_nio_ssl": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz"
-              ],
-              "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d",
-              "strip_prefix": "swift-nio-ssl-2.23.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_collections": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-collections/archive/1.0.4.tar.gz"
-              ],
-              "sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096",
-              "strip_prefix": "swift-collections-1.0.4/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay"
-            }
-          },
-          "com_github_apple_swift_atomics": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "urls": [
-                "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz"
-              ],
-              "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb",
-              "strip_prefix": "swift-atomics-1.1.0/",
-              "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay"
-            }
-          },
-          "build_bazel_rules_swift_index_import": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay",
-              "canonical_id": "index-import-5.8",
-              "urls": [
-                "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz"
-              ],
-              "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15"
-            }
-          },
-          "build_bazel_rules_swift_local_config": {
-            "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration",
-            "attributes": {}
-          }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_swift+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_swift+",
-            "build_bazel_rules_swift",
-            "rules_swift+"
-          ]
-        ]
-      }
-    },
     "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": {
       "general": {
         "bzlTransitiveDigest": "4I0YNPbDgLY5CojGj/bUi9kZkZnU0EDjGFyT8XcfAc4=",
@@ -12183,60 +11653,6 @@
   },
   "facts": {
     "@@rules_go+//go:extensions.bzl%go_sdk": {
-      "1.19.1": {
-        "darwin_amd64": [
-          "go1.19.1.darwin-amd64.tar.gz",
-          "b2828a2b05f0d2169afc74c11ed010775bf7cf0061822b275697b2f470495fb7"
-        ],
-        "darwin_arm64": [
-          "go1.19.1.darwin-arm64.tar.gz",
-          "e46aecce83a9289be16ce4ba9b8478a5b89b8aa0230171d5c6adbc0c66640548"
-        ],
-        "freebsd_386": [
-          "go1.19.1.freebsd-386.tar.gz",
-          "cfaca8c1d5784d2bc21e12d8893cfd2dc885a60db4c1a9a95e4ffc694d0925ce"
-        ],
-        "freebsd_amd64": [
-          "go1.19.1.freebsd-amd64.tar.gz",
-          "db5b8f232e12c655cc6cde6af1adf4d27d842541807802d747c86161e89efa0a"
-        ],
-        "linux_386": [
-          "go1.19.1.linux-386.tar.gz",
-          "9acc57342400c5b0c2da07b5b01b50da239dd4a7fad41a1fb56af8363ef4133f"
-        ],
-        "linux_amd64": [
-          "go1.19.1.linux-amd64.tar.gz",
-          "acc512fbab4f716a8f97a8b3fbaa9ddd39606a28be6c2515ef7c6c6311acffde"
-        ],
-        "linux_arm64": [
-          "go1.19.1.linux-arm64.tar.gz",
-          "49960821948b9c6b14041430890eccee58c76b52e2dbaafce971c3c38d43df9f"
-        ],
-        "linux_armv6l": [
-          "go1.19.1.linux-armv6l.tar.gz",
-          "efe93f5671621ee84ce5e262e1e21acbc72acefbaba360f21778abd083d4ad16"
-        ],
-        "linux_ppc64le": [
-          "go1.19.1.linux-ppc64le.tar.gz",
-          "4137984aa353de9c5ec1bd8fb3cd00a0624b75eafa3d4ec13d2f3f48261dba2e"
-        ],
-        "linux_s390x": [
-          "go1.19.1.linux-s390x.tar.gz",
-          "ca1005cc80a3dd726536b4c6ea5fef0318939351ff273eff420bd66a377c74eb"
-        ],
-        "windows_386": [
-          "go1.19.1.windows-386.zip",
-          "bc7043e7a9a8d34aacd06f8c2f70e166d1d148f6800814cff790c45b9ab31cee"
-        ],
-        "windows_amd64": [
-          "go1.19.1.windows-amd64.zip",
-          "b33584c1d93b0e9c783de876b7aa99d3018bdeccd396aeb6d516a74e9d88d55f"
-        ],
-        "windows_arm64": [
-          "go1.19.1.windows-arm64.zip",
-          "d8cf3f04762fa7d5d9c82dfa15b5adaae2404463af3bc8dcd7f89837512501fe"
-        ]
-      },
       "1.20.2": {
         "darwin_amd64": [
           "go1.20.2.darwin-amd64.tar.gz",
@@ -12291,164 +11707,6 @@
           "ac5010c8b8b22849228a8dea698d58b9c7be2195d30c6d778cce0f709858fa64"
         ]
       },
-      "1.21.1": {
-        "aix_ppc64": [
-          "go1.21.1.aix-ppc64.tar.gz",
-          "ad5c160e2ff7989f818572f2391ca000d587569ff68d8591a695382a863719d0"
-        ],
-        "darwin_amd64": [
-          "go1.21.1.darwin-amd64.tar.gz",
-          "809f5b0ef4f7dcdd5f51e9630a5b2e5a1006f22a047126d61560cdc365678a19"
-        ],
-        "darwin_arm64": [
-          "go1.21.1.darwin-arm64.tar.gz",
-          "ffd40391a1e995855488b008ad9326ff8c2e81803a6e80894401003bae47fcf1"
-        ],
-        "dragonfly_amd64": [
-          "go1.21.1.dragonfly-amd64.tar.gz",
-          "646f5db8ba479032aea07c597ccd187bc75c161f18e7a1785c62ab8cb103cb3e"
-        ],
-        "freebsd_386": [
-          "go1.21.1.freebsd-386.tar.gz",
-          "9919a9a4dc82371aba3da5b7c830bcb6249fc1502cd26d959eb340a60e41ee01"
-        ],
-        "freebsd_amd64": [
-          "go1.21.1.freebsd-amd64.tar.gz",
-          "2571f10f6047e04d87c1f5986a05e5e8f7b511faf98803ef12b66d563845d2a1"
-        ],
-        "freebsd_arm64": [
-          "go1.21.1.freebsd-arm64.tar.gz",
-          "4946118e72deccf194a9bfcfedbafe52e45b5fe9441fd3acfced760b27a20f9a"
-        ],
-        "freebsd_armv6l": [
-          "go1.21.1.freebsd-arm.tar.gz",
-          "6d4dab314ed6adff68a74e3bce516e36fd89c7bf4523c2c105f96e04933fc982"
-        ],
-        "freebsd_riscv64": [
-          "go1.21.1.freebsd-riscv64.tar.gz",
-          "591bd28e2dac581facb20c1529f8c29590d7eaaccbcdc93d12a234461b7bfe89"
-        ],
-        "illumos_amd64": [
-          "go1.21.1.illumos-amd64.tar.gz",
-          "829548b591675df5f113317ac011bfc3381da7a96bd6a1c748694370818b4497"
-        ],
-        "linux_386": [
-          "go1.21.1.linux-386.tar.gz",
-          "b93850666cdadbd696a986cf7b03111fe99db8c34a9aaa113d7c96d0081e1901"
-        ],
-        "linux_amd64": [
-          "go1.21.1.linux-amd64.tar.gz",
-          "b3075ae1ce5dab85f89bc7905d1632de23ca196bd8336afd93fa97434cfa55ae"
-        ],
-        "linux_arm64": [
-          "go1.21.1.linux-arm64.tar.gz",
-          "7da1a3936a928fd0b2602ed4f3ef535b8cd1990f1503b8d3e1acc0fa0759c967"
-        ],
-        "linux_armv6l": [
-          "go1.21.1.linux-armv6l.tar.gz",
-          "f3716a43f59ae69999841d6007b42c9e286e8d8ce470656fb3e70d7be2d7ca85"
-        ],
-        "linux_loong64": [
-          "go1.21.1.linux-loong64.tar.gz",
-          "2273cc4ed398d8b341aee01fd62f3845045b2f439b84b28720a7f3d3552f5d41"
-        ],
-        "linux_mips": [
-          "go1.21.1.linux-mips.tar.gz",
-          "2ba529210bae7ba7b8c48b0084f713b41e8c109ae75637820fd5b72be9f3faff"
-        ],
-        "linux_mips64": [
-          "go1.21.1.linux-mips64.tar.gz",
-          "f2cef18856b17cc5c81cc8b0a35b1ca08d2b04d4b88adc07d190560cb464e2f6"
-        ],
-        "linux_mips64le": [
-          "go1.21.1.linux-mips64le.tar.gz",
-          "3aa007a41f533b50eae2491bbd29926ada09357367a8aa05e7e50ec50c78acf9"
-        ],
-        "linux_mipsle": [
-          "go1.21.1.linux-mipsle.tar.gz",
-          "c0059f49c3ea31bebe972f47d460d49addb78641081a7000e79e730464bcce95"
-        ],
-        "linux_ppc64": [
-          "go1.21.1.linux-ppc64.tar.gz",
-          "6871fd3e6dae3897112dc4a98988406461ef1018f4a17c87689d977eba8dbf20"
-        ],
-        "linux_ppc64le": [
-          "go1.21.1.linux-ppc64le.tar.gz",
-          "eddf018206f8a5589bda75252b72716d26611efebabdca5d0083ec15e9e41ab7"
-        ],
-        "linux_riscv64": [
-          "go1.21.1.linux-riscv64.tar.gz",
-          "fac64ed26e003f49f1d77f6d2c4cf951422aecbce12232d9ec1bf4585fc44ee1"
-        ],
-        "linux_s390x": [
-          "go1.21.1.linux-s390x.tar.gz",
-          "a83b3e8eb4dbf76294e773055eb51397510ff4d612a247bad9903560267bba6d"
-        ],
-        "netbsd_386": [
-          "go1.21.1.netbsd-386.tar.gz",
-          "c919f2ba4755e6aebeea6e7f19abf1c5ed13d37c2930867d10a86adfd0686eba"
-        ],
-        "netbsd_amd64": [
-          "go1.21.1.netbsd-amd64.tar.gz",
-          "b2dd9913063caa2b5f960e8ebc6c225293b4155e9ebd88d43afd55bb81ca8931"
-        ],
-        "netbsd_arm64": [
-          "go1.21.1.netbsd-arm64.tar.gz",
-          "5d245ac932d421389c1bfcedc38733367ae407dbdc162a6e7bfca5677fb15269"
-        ],
-        "netbsd_armv6l": [
-          "go1.21.1.netbsd-arm.tar.gz",
-          "4d1756a9845917b07c8ec4999b8e019a2bd2a8b3d5d16da5da0ef3ce84d2139c"
-        ],
-        "openbsd_386": [
-          "go1.21.1.openbsd-386.tar.gz",
-          "ce094e551227522aaf3111a94a7f115c5a2b4f862c42d349026503544a40fb96"
-        ],
-        "openbsd_amd64": [
-          "go1.21.1.openbsd-amd64.tar.gz",
-          "321c31c42131db2bd0e9d67dd98450f55b281e8e6d8eb681594c39e6688ccbb2"
-        ],
-        "openbsd_arm64": [
-          "go1.21.1.openbsd-arm64.tar.gz",
-          "4d65bcb383895be8d6c05507f2b410e15448b0610e1f5fb23ece9ff4e045f7a8"
-        ],
-        "openbsd_armv6l": [
-          "go1.21.1.openbsd-arm.tar.gz",
-          "481254b99b9861b65c9eaab137af15311fca618f9f17f2bd872795368c726666"
-        ],
-        "plan9_386": [
-          "go1.21.1.plan9-386.tar.gz",
-          "93ea25cbb8063cd4d5917b8ca58a72c26b6cb9e6c1d785e30867ae8ad8290484"
-        ],
-        "plan9_amd64": [
-          "go1.21.1.plan9-amd64.tar.gz",
-          "14d61633059651d12cc02b2f53739016f1b07063a4140147e44a196413950553"
-        ],
-        "plan9_armv6l": [
-          "go1.21.1.plan9-arm.tar.gz",
-          "adfacbcfb5e7415802187fb6aa8b5397d589fdedcd5d0eac3b86352da7390603"
-        ],
-        "solaris_amd64": [
-          "go1.21.1.solaris-amd64.tar.gz",
-          "b86a223e52e41de3ff180f90f1d7e705d30f96271f9a81005e20f25be2658990"
-        ],
-        "windows_386": [
-          "go1.21.1.windows-386.zip",
-          "170256c820f466f29d64876f25f4dfa4029ed9902a0a9095d8bd603aecf4d83b"
-        ],
-        "windows_amd64": [
-          "go1.21.1.windows-amd64.zip",
-          "10a4f5b63215d11d1770453733dbcbf024f3f74872f84e28d7ea59f0250316c6"
-        ],
-        "windows_arm64": [
-          "go1.21.1.windows-arm64.zip",
-          "41135ce6e0ced4bc1e459cb96bd4090c9dc2062e24179c3f337d855af9b560ef"
-        ],
-        "windows_armv6l": [
-          "go1.21.1.windows-arm.zip",
-          "d7a2472999a80dbf6bbcb6783a2b4299916055473263117295022f18e7fad487"
-        ]
-      },
       "1.22.0": {
         "aix_ppc64": [
           "go1.22.0.aix-ppc64.tar.gz",
@@ -13092,164 +12350,6 @@
           "go1.25.0.windows-arm64.zip",
           "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c"
         ]
-      },
-      "1.26.7": {
-        "aix_ppc64": [
-          "go1.26.7.aix-ppc64.tar.gz",
-          "e5aed98bc83f569a374dbfd79d632b058e5130192fbd4c4ee0d4f6e3d9c101bb"
-        ],
-        "darwin_amd64": [
-          "go1.26.7.darwin-amd64.tar.gz",
-          "92e8b34bff3c89ab16404c595669ac8cb004cc2f676dcbd1f5b87a6b8def3b47"
-        ],
-        "darwin_arm64": [
-          "go1.26.7.darwin-arm64.tar.gz",
-          "020a1e8224811be75163e920bc77e0926a1390a6aeea19bdcf23f74b9d749f6d"
-        ],
-        "dragonfly_amd64": [
-          "go1.26.7.dragonfly-amd64.tar.gz",
-          "d980dc9ecc48de09b2fa1765886abb8c7b0ad738bf8cc483b76019facc2df4d1"
-        ],
-        "freebsd_386": [
-          "go1.26.7.freebsd-386.tar.gz",
-          "7eecfa4d6c126bcdedb8e16583ec672857e607659c672c60a9d645f8957da117"
-        ],
-        "freebsd_amd64": [
-          "go1.26.7.freebsd-amd64.tar.gz",
-          "2ad37146fa8449907716b494dd268aeae6f79592b875915525c28c8c337ad32a"
-        ],
-        "freebsd_arm": [
-          "go1.26.7.freebsd-arm.tar.gz",
-          "bc56379ed419cd93cf7002dcb95f554b3e3a2bd58d804182f8873e313a870b70"
-        ],
-        "freebsd_arm64": [
-          "go1.26.7.freebsd-arm64.tar.gz",
-          "23d425a3a51876df8bf050f080b1ae50340048def689fbcc44c939fa23485ce0"
-        ],
-        "illumos_amd64": [
-          "go1.26.7.illumos-amd64.tar.gz",
-          "be51df2411786e1fa6325461e509224a94c5e8d001da8e4548d9e028a53a3c22"
-        ],
-        "linux_386": [
-          "go1.26.7.linux-386.tar.gz",
-          "5b6fad4a7fe8fa230c935625b67450305be95e2f4f976b731623f76b88fc4821"
-        ],
-        "linux_amd64": [
-          "go1.26.7.linux-amd64.tar.gz",
-          "ffb5f8de10c62550dfddab66b36b57030721e0a44a3218e9e1181d7b59f121ca"
-        ],
-        "linux_arm64": [
-          "go1.26.7.linux-arm64.tar.gz",
-          "5a4ec883379d51ee9ce1040d5e87f8d35e20387574dd8c947feb01eabc3c1b37"
-        ],
-        "linux_armv6l": [
-          "go1.26.7.linux-armv6l.tar.gz",
-          "6a41557335d1d9fa9bfc7439cedcfd0e4df2fc83d916175b5f3eae4685f5fe3f"
-        ],
-        "linux_loong64": [
-          "go1.26.7.linux-loong64.tar.gz",
-          "89b5e92446e719719e23db447a41860d7d573252bab0704c9acb09ad97e9eca1"
-        ],
-        "linux_mips": [
-          "go1.26.7.linux-mips.tar.gz",
-          "fbdbf78b04494843fde47b15150e12adb7e2c0e2289eacbc18e6629a99604620"
-        ],
-        "linux_mips64": [
-          "go1.26.7.linux-mips64.tar.gz",
-          "93b1360a29f4a71dbb6995f149b9312f67f5ce52197fea0042e9c9423809a496"
-        ],
-        "linux_mips64le": [
-          "go1.26.7.linux-mips64le.tar.gz",
-          "402dd2bd57fb4c982ef0eccbb4f7209ae98a753856e99baf962f1ac54493d65d"
-        ],
-        "linux_mipsle": [
-          "go1.26.7.linux-mipsle.tar.gz",
-          "967da58e88c45c401593a8552be9beedaa989a3484a3105850d2beb6ca9ed698"
-        ],
-        "linux_ppc64": [
-          "go1.26.7.linux-ppc64.tar.gz",
-          "8feee58b3fa8d270343519d10d66736150e627d39aee937e6e889ba5445c8be9"
-        ],
-        "linux_ppc64le": [
-          "go1.26.7.linux-ppc64le.tar.gz",
-          "22d3b362d557175fd16b79651cab0cad64f8aaaedca745f66d16f44d56bc5de1"
-        ],
-        "linux_riscv64": [
-          "go1.26.7.linux-riscv64.tar.gz",
-          "21e1dc0e2f7dd9f80e0e94613fc324f1f99403b99997f9d8c5f80f8132fc642b"
-        ],
-        "linux_s390x": [
-          "go1.26.7.linux-s390x.tar.gz",
-          "bc3308e05e9397958ad4aac453e3dc4565ba6d548e9ace0a9b4b165feb6382f2"
-        ],
-        "netbsd_386": [
-          "go1.26.7.netbsd-386.tar.gz",
-          "c0a28bd30d8c07966cf7bc43fc6936866fb1a0e84ab4e983d4e8ca15edc1a4d1"
-        ],
-        "netbsd_amd64": [
-          "go1.26.7.netbsd-amd64.tar.gz",
-          "dff0b16d129f5e70f3bb38ed98d467404b5b130c7c8b3fe6b074601855f2bcd5"
-        ],
-        "netbsd_arm": [
-          "go1.26.7.netbsd-arm.tar.gz",
-          "36d15f8c5c5a5a048251b39ce67ed5a7ae2d072f1aa5c301cbde110670e824b2"
-        ],
-        "netbsd_arm64": [
-          "go1.26.7.netbsd-arm64.tar.gz",
-          "b75802b366e5b60aa6cfded871f0a72abadf297c5a68c523c5857822a5b92d34"
-        ],
-        "openbsd_386": [
-          "go1.26.7.openbsd-386.tar.gz",
-          "c26201688339b2a10bf980be2d64adfd3a383b31a164377b0123ad78bde6979c"
-        ],
-        "openbsd_amd64": [
-          "go1.26.7.openbsd-amd64.tar.gz",
-          "562de088b844764029f59ff52e82218711a4b585ab7ae175b88eff53e051a8df"
-        ],
-        "openbsd_arm": [
-          "go1.26.7.openbsd-arm.tar.gz",
-          "646e19cd3449aec767bf75622d368b02c73d529a5478a25f2a7e21148b1a4cb6"
-        ],
-        "openbsd_arm64": [
-          "go1.26.7.openbsd-arm64.tar.gz",
-          "2045303632e112290e939dfd4678401109f612f7913f459e2d7d079e750723f5"
-        ],
-        "openbsd_ppc64": [
-          "go1.26.7.openbsd-ppc64.tar.gz",
-          "23e89de68225dc41dd981601602e67fab0c4ca87af8f70a25131c06a301f9000"
-        ],
-        "openbsd_riscv64": [
-          "go1.26.7.openbsd-riscv64.tar.gz",
-          "c0de2c6c353a582ca7682ed5a550056a8b5d59649260da4d1e327cf96684c822"
-        ],
-        "plan9_386": [
-          "go1.26.7.plan9-386.tar.gz",
-          "14ae7414a2ea05d26e1fc499d9b372c7f8f17726c49a5222fa9063b0f752a22c"
-        ],
-        "plan9_amd64": [
-          "go1.26.7.plan9-amd64.tar.gz",
-          "f9459b8137bdb81621d4e0cdba4c849a617c89c11a3088083ad3a8c97467c6a5"
-        ],
-        "plan9_arm": [
-          "go1.26.7.plan9-arm.tar.gz",
-          "4f444bd2e0f8a08ba8799131dd3531bea8723bf96b8ffa0e0948936a3c4aa8f0"
-        ],
-        "solaris_amd64": [
-          "go1.26.7.solaris-amd64.tar.gz",
-          "04b5b280e0e0de1b91d7da5e34801dbf75e5621615f80cfd9935091d673f1238"
-        ],
-        "windows_386": [
-          "go1.26.7.windows-386.zip",
-          "59cf0b9814c41c960d70df3cd5360fda0793e5d2230737d58e009392181fb636"
-        ],
-        "windows_amd64": [
-          "go1.26.7.windows-amd64.zip",
-          "f4f534a486e4bc3387fa18f08208f2f854b7aaea8a08f2a2d829a914a05abb11"
-        ],
-        "windows_arm64": [
-          "go1.26.7.windows-arm64.zip",
-          "6f1b08de9e2dd94f69c52e524ab6834737275253291e8fd7f1c12ed4eceeda89"
-        ]
       }
     }
   }

From dc41763ef74338f1b394adcbcd798f76b85cde35 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 20:22:11 +0100
Subject: [PATCH 37/80] Drop dependable elements of logging and
 config_management

They use the assumptions_of_use attribute, which score_tooling 3.x removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 .../score_modules_target_sw.MODULE.bazel      |   2 +
 known_good.json                               |   6 +-
 ...003-drop-dependable-element-aou-attr.patch |  14 ++
 ...004-drop-dependable-element-aou-attr.patch | 167 ++++++++++++++++++
 4 files changed, 187 insertions(+), 2 deletions(-)
 create mode 100644 patches/config_management/003-drop-dependable-element-aou-attr.patch
 create mode 100644 patches/logging/004-drop-dependable-element-aou-attr.patch

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index d7cd6eed203..429482febce 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -75,6 +75,7 @@ git_override(
     patches = [
         "//patches/logging:002-undev-component-test-deps.patch",
         "//patches/logging:003-relative-verification-report-links.patch",
+        "//patches/logging:004-drop-dependable-element-aou-attr.patch",
     ],
     remote = "https://github.com/eclipse-score/logging.git",
 )
@@ -100,6 +101,7 @@ git_override(
     patches = [
         "//patches/config_management:001-expose-mw-com-config.patch",
         "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",
+        "//patches/config_management:003-drop-dependable-element-aou-attr.patch",
     ],
     remote = "https://github.com/eclipse-score/config_management.git",
 )
diff --git a/known_good.json b/known_good.json
index f4ec5ab244a..f0f3734e779 100644
--- a/known_good.json
+++ b/known_good.json
@@ -158,7 +158,8 @@
                 "repo": "https://github.com/eclipse-score/logging.git",
                 "bazel_patches": [
                     "//patches/logging:002-undev-component-test-deps.patch",
-                    "//patches/logging:003-relative-verification-report-links.patch"
+                    "//patches/logging:003-relative-verification-report-links.patch",
+                    "//patches/logging:004-drop-dependable-element-aou-attr.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/mw/log/...",
@@ -227,7 +228,8 @@
                 "hash": "50051d3ae061eb17c2907ce9438617238bf9255d",
                 "bazel_patches": [
                     "//patches/config_management:001-expose-mw-com-config.patch",
-                    "//patches/config_management:002-migrate-to-persistency-kvs-api.patch"
+                    "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",
+                    "//patches/config_management:003-drop-dependable-element-aou-attr.patch"
                 ],
                 "metadata": {
                     "code_root_path": "//score/config_management/...",
diff --git a/patches/config_management/003-drop-dependable-element-aou-attr.patch b/patches/config_management/003-drop-dependable-element-aou-attr.patch
new file mode 100644
index 00000000000..560a8231c17
--- /dev/null
+++ b/patches/config_management/003-drop-dependable-element-aou-attr.patch
@@ -0,0 +1,14 @@
+Drop the dependable_element assumptions_of_use attribute removed in score_tooling 3.x.
+
+diff --git a/score/config_management/dependability/BUILD b/score/config_management/dependability/BUILD
+index 3c4a4d9..a37a6e8 100644
+--- a/score/config_management/dependability/BUILD
++++ b/score/config_management/dependability/BUILD
+@@ -41,7 +41,6 @@ component(
+ dependable_element(
+     name = "config_management",
+     architectural_design = ["//score/config_management/dependability/software_architectural_design:software_architectural_design"],
+-    assumptions_of_use = ["//requirements/safety_analysis:assumptions_of_use"],
+     components = [
+         ":config_daemon_component",
+         ":config_provider_component",
diff --git a/patches/logging/004-drop-dependable-element-aou-attr.patch b/patches/logging/004-drop-dependable-element-aou-attr.patch
new file mode 100644
index 00000000000..0923e9c4b10
--- /dev/null
+++ b/patches/logging/004-drop-dependable-element-aou-attr.patch
@@ -0,0 +1,167 @@
+Drop the mw_log_backend dependable element POC and its AoU target: they use the
+fmea rule, the dependable_element assumptions_of_use attribute and .rst AoU
+sources, all unsupported by score_tooling 3.x.
+
+diff --git a/BUILD b/BUILD
+index f2c80fea..ff4a2539 100644
+--- a/BUILD
++++ b/BUILD
+@@ -47,27 +47,6 @@ exports_files([
+     ".clang-tidy",
+ ])
+ 
+-_DEPENDABLE_ELEMENT = "dependable_element_mw_log_backend_doc"
+-
+-# Public URL folder; docs/dependable_elements/index.rst links to it.
+-_PUBLISH_NAME = "mw_log_backend"
+-
+-_DEPENDABLE_ELEMENT_DOC = "//score/mw/log/dependability:" + _DEPENDABLE_ELEMENT
+-
+-# Must run after `:docs`, which owns and may wipe `_build`.
+-py_binary(
+-    name = "publish_dependable_element_reports",
+-    testonly = True,
+-    srcs = ["scripts/publish_dependable_element_reports.py"],
+-    data = [_DEPENDABLE_ELEMENT_DOC],
+-    env = {
+-        "DEPENDABLE_ELEMENT_HTML": "$(rlocationpath " + _DEPENDABLE_ELEMENT_DOC + ")",
+-        "DEPENDABLE_ELEMENT_NAME": _PUBLISH_NAME,
+-    },
+-    main = "scripts/publish_dependable_element_reports.py",
+-    deps = ["@rules_python//python/runfiles"],
+-)
+-
+ py_test(
+     name = "publish_dependable_element_reports_test",
+     srcs = [
+diff --git a/score/mw/log/dependability/BUILD b/score/mw/log/dependability/BUILD
+deleted file mode 100644
+index 76b540a6..00000000
+--- a/score/mw/log/dependability/BUILD
++++ /dev/null
+@@ -1,57 +0,0 @@
+-# *******************************************************************************
+-# Copyright (c) 2026 Contributors to the Eclipse Foundation
+-#
+-# See the NOTICE file(s) distributed with this work for additional
+-# information regarding copyright ownership.
+-#
+-# This program and the accompanying materials are made available under the
+-# terms of the Apache License Version 2.0 which is available at
+-# https://www.apache.org/licenses/LICENSE-2.0
+-#
+-# SPDX-License-Identifier: Apache-2.0
+-# *******************************************************************************
+-# POC (option 2, see trlc_migration_plan.md): mw::log backend as a full
+-# rules_score SEooC. maturity="development" and the placeholder FMEA mean this
+-# is not yet certification evidence -- see safety_analysis/*.trlc notes.
+-load(
+-    "@score_tooling//bazel/rules/rules_score:rules_score.bzl",
+-    "component",
+-    "dependable_element",
+-)
+-
+-component(
+-    name = "component_mw_log_backend",
+-    components = [
+-        "//score/mw/log/detail/data_router:data_router_backend_unit",
+-        "//score/mw/log/detail/data_router/shared_memory:shared_memory_unit",
+-        "//score/mw/log/detail/file_recorder:file_recorder_unit",
+-        "//score/mw/log/detail/utils/signal_handling:signal_handling_unit",
+-        "//score/mw/log/detail/wait_free_producer_queue:wait_free_producer_queue_unit",
+-    ],
+-    requirements = [
+-        "//score/mw/log/requirements/component_requirements",
+-        "//score/mw/log/requirements/feature_requirements",
+-    ],
+-    target_compatible_with = ["@platforms//os:linux"],
+-    test_case_coverage_lock = "test_case_coverage.lock.yaml",
+-    visibility = ["//visibility:public"],
+-)
+-
+-dependable_element(
+-    name = "dependable_element_mw_log_backend",
+-    architectural_design = ["//score/mw/log/design/backend:mw_log_backend_architectural_design"],
+-    assumptions_of_use = ["//score/mw/log/requirements/safety_analysis:assumptions_of_use"],
+-    components = [":component_mw_log_backend"],
+-    dependability_analysis = ["//score/mw/log/dependability/safety_analysis:mw_log_backend_dependability_analysis"],
+-    integrity_level = "B",
+-    maturity = "development",
+-    requirements = [
+-        "//score/mw/log/requirements/feature_requirements",
+-        "//score/mw/log/requirements/assumed_system_requirements",
+-    ],
+-    target_compatible_with = ["@platforms//os:linux"],
+-    tests = [
+-        "//score/test/component/mw_log:test_mw_log",
+-    ],
+-    visibility = ["//visibility:public"],
+-)
+diff --git a/score/mw/log/dependability/safety_analysis/BUILD b/score/mw/log/dependability/safety_analysis/BUILD
+deleted file mode 100644
+index 1bc24e93..00000000
+--- a/score/mw/log/dependability/safety_analysis/BUILD
++++ /dev/null
+@@ -1,34 +0,0 @@
+-# *******************************************************************************
+-# Copyright (c) 2026 Contributors to the Eclipse Foundation
+-#
+-# See the NOTICE file(s) distributed with this work for additional
+-# information regarding copyright ownership.
+-#
+-# This program and the accompanying materials are made available under the
+-# terms of the Apache License Version 2.0 which is available at
+-# https://www.apache.org/licenses/LICENSE-2.0
+-#
+-# SPDX-License-Identifier: Apache-2.0
+-# *******************************************************************************
+-
+-load(
+-    "@score_tooling//bazel/rules/rules_score:rules_score.bzl",
+-    "dependability_analysis",
+-    "fmea",
+-)
+-
+-fmea(
+-    name = "mw_log_backend_fmea",
+-    arch_design = "//score/mw/log/design/backend:mw_log_backend_architectural_design",
+-    controlmeasures = ["control_measures.trlc"],
+-    failuremodes = ["failure_modes.trlc"],
+-    visibility = ["//score/mw/log/dependability:__pkg__"],
+-)
+-
+-dependability_analysis(
+-    name = "mw_log_backend_dependability_analysis",
+-    arch_design = "//score/mw/log/design/backend:mw_log_backend_architectural_design",
+-    fmea = [":mw_log_backend_fmea"],
+-    tags = ["manual"],
+-    visibility = ["//score/mw/log/dependability:__pkg__"],
+-)
+diff --git a/score/mw/log/requirements/safety_analysis/BUILD b/score/mw/log/requirements/safety_analysis/BUILD
+index 4f8d30ee..3484805f 100644
+--- a/score/mw/log/requirements/safety_analysis/BUILD
++++ b/score/mw/log/requirements/safety_analysis/BUILD
+@@ -12,23 +12,9 @@
+ # *******************************************************************************
+ 
+ load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
+-load(
+-    "@score_tooling//bazel/rules/rules_score:rules_score.bzl",
+-    "assumptions_of_use",
+-)
+ 
+ copy_file(
+     name = "aou_requirements_rst",
+     src = "@score_baselibs//score/mw/log:docs/safety_analysis/aou_requirements.rst",
+     out = "aou_requirements.rst",
+ )
+-
+-assumptions_of_use(
+-    name = "assumptions_of_use",
+-    srcs = ["aou_requirements.rst"],
+-    target_compatible_with = ["@platforms//os:linux"],
+-    visibility = [
+-        "//score/mw/log/dependability:__subpackages__",
+-        "//score/mw/log/requirements:__subpackages__",
+-    ],
+-)

From bbf95e3d9fce50d8135e90bb89f7c0f2e096cac3 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 20:22:11 +0100
Subject: [PATCH 38/80] Publish communication dependable element docs via
 module test artifacts

docs_as_code cannot take them as Bazel external needs, so module_tests builds
the sphinx targets listed in metadata.dependable_element_docs and the docs job
copies the HTML next to the main docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 .github/workflows/test_and_docs.yml      |  8 ++++++++
 docs/modules/index.rst                   |  7 +++++++
 known_good.json                          |  3 +++
 scripts/module_tests.py                  | 20 ++++++++++++++++++++
 scripts/tooling/lib/known_good/module.py |  3 +++
 5 files changed, 41 insertions(+)

diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml
index eb92663b4fd..505d627ccf4 100644
--- a/.github/workflows/test_and_docs.yml
+++ b/.github/workflows/test_and_docs.yml
@@ -184,6 +184,14 @@ jobs:
 
           CURRENT=$(realpath .)
           bazel run //scripts/tooling -- misc html_report --output ${CURRENT}/_build/status_dashboard.html
+          # Dependable element docs built by module_tests.yml; they cannot be coupled via Bazel, so
+          # they are published next to the main docs (linked from docs/modules/index.rst).
+          for report in _module_reports/*; do
+            [ -d "$report/dependable_element_docs" ] || continue
+            module="${report##*/}"
+            mkdir -p "_build/modules/$module/dependable_element"
+            cp -r "$report/dependable_element_docs/." "_build/modules/$module/dependable_element/"
+          done
           tar -cf github-pages.tar _build
       - name: Upload documentation artifact
         uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
diff --git a/docs/modules/index.rst b/docs/modules/index.rst
index 955ed9b8a58..78b76978eff 100644
--- a/docs/modules/index.rst
+++ b/docs/modules/index.rst
@@ -19,3 +19,10 @@ Modules
    :titlesonly:
    :maxdepth: 1
 
+
+Dependable element documentation
+--------------------------------
+
+Built per module in CI and published next to these docs:
+
+* `Communication (mw_com) `_
diff --git a/known_good.json b/known_good.json
index f0f3734e779..e8bef50ce1d 100644
--- a/known_good.json
+++ b/known_good.json
@@ -46,6 +46,9 @@
                 ],
                 "metadata": {
                     "code_root_path": "//score/mw/com/impl/...",
+                    "dependable_element_docs": [
+                        "//score/mw/com/dependability:mw_com_doc"
+                    ],
                     "extra_test_config": [
                         "@score_communication//score/memory/shared/flags:use_typedshmd=False"
                     ],
diff --git a/scripts/module_tests.py b/scripts/module_tests.py
index fc9a9ad643c..10dfc4c765f 100644
--- a/scripts/module_tests.py
+++ b/scripts/module_tests.py
@@ -199,6 +199,25 @@ def _write_summary(
     append_to_step_summary(text)
 
 
+def _collect_dependable_element_docs(workspace: Path, out: Path, targets: list[str], env: dict) -> None:
+    """Build the module's dependable element sphinx targets and keep their HTML for the main docs.
+
+    The main docs build cannot depend on them via Bazel (docs_as_code only takes docs()/docs_bundle
+    labels as external needs), so the HTML travels as part of the module report instead. A failure
+    here is reported but does not fail the module's tests.
+    """
+    if not targets:
+        return
+    code, _ = streamed(["bazel", "build", "--keep_going", *targets], workspace, env)
+    for target in targets:
+        package, name = target.removeprefix("//").split(":")
+        html = workspace / "bazel-bin" / package / name / "html"
+        if code != 0 or not html.is_dir():
+            print(f"WARNING: no HTML for {target}", file=sys.stderr)
+            continue
+        shutil.copytree(html, out / "dependable_element_docs" / name, symlinks=False, dirs_exist_ok=True)
+
+
 def run(args: argparse.Namespace) -> int:
     known = load_known_good(REF_INT / "known_good.json")
     module = known.modules["target_sw"].get(args.module)
@@ -253,6 +272,7 @@ def run(args: argparse.Namespace) -> int:
     no_tests = not results
     exit_code = exit_code or int(no_tests)
     _collect_coverage(workspace, out, env)
+    _collect_dependable_element_docs(workspace, out, module.metadata.dependable_element_docs, env)
     (out / "result.json").write_text(json.dumps({"exit_code": exit_code}) + "\n")
     _write_summary(module.name, out, exit_code, log, no_tests=no_tests, pinned=pinned, unpinned=unpinned)
     return exit_code
diff --git a/scripts/tooling/lib/known_good/module.py b/scripts/tooling/lib/known_good/module.py
index fd42a6cfa1d..cd08beda9c2 100644
--- a/scripts/tooling/lib/known_good/module.py
+++ b/scripts/tooling/lib/known_good/module.py
@@ -28,6 +28,7 @@ class Metadata:
     extra_test_config: list[str] = field(default_factory=list)
     exclude_test_targets: list[str] = field(default_factory=list)
     langs: list[str] = field(default_factory=lambda: ["cpp", "rust"])
+    dependable_element_docs: list[str] = field(default_factory=list)
 
     @classmethod
     def from_dict(cls, data: Dict[str, Any]) -> Metadata:
@@ -36,6 +37,7 @@ def from_dict(cls, data: Dict[str, Any]) -> Metadata:
             extra_test_config=data.get("extra_test_config", []),
             exclude_test_targets=data.get("exclude_test_targets", []),
             langs=data.get("langs", ["cpp", "rust"]),
+            dependable_element_docs=data.get("dependable_element_docs", []),
         )
 
     def to_dict(self) -> Dict[str, Any]:
@@ -44,6 +46,7 @@ def to_dict(self) -> Dict[str, Any]:
             "extra_test_config": self.extra_test_config,
             "exclude_test_targets": self.exclude_test_targets,
             "langs": self.langs,
+            "dependable_element_docs": self.dependable_element_docs,
         }
 
 

From d612b38c4a4fed4863f08ac33ee9c7c4b7249952 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 20:37:44 +0100
Subject: [PATCH 39/80] Add dependable_element_docs to the Metadata model used
 by module_tests

The key was added to scripts/tooling's unrelated Metadata class by mistake,
so module_tests.py failed with an AttributeError. Move it to the model it
actually loads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 scripts/known_good/models/module.py      | 6 ++++++
 scripts/tooling/lib/known_good/module.py | 3 ---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/scripts/known_good/models/module.py b/scripts/known_good/models/module.py
index f7a4bfc6fea..c166d2c0f1c 100644
--- a/scripts/known_good/models/module.py
+++ b/scripts/known_good/models/module.py
@@ -114,6 +114,8 @@ class Metadata:
                     patterns). scripts/module_tests.py runs them under ``bazel coverage``,
                     with ref_int's unified config added before any ``--`` and ref_int's
                     resolved dependency versions forced.
+            dependable_element_docs: Labels of the module's dependable element sphinx targets.
+                    scripts/module_tests.py builds them and keeps their HTML for the main docs.
     """
 
     code_root_path: str = "//score/..."
@@ -125,6 +127,7 @@ class Metadata:
     integration_test_targets: list[str] = field(default_factory=lambda: [])
     integration_test_config: list[str] = field(default_factory=lambda: [])
     test_args: list[str] = field(default_factory=lambda: [])
+    dependable_element_docs: list[str] = field(default_factory=lambda: [])
 
     @classmethod
     def from_dict(cls, data: Dict[str, Any]) -> Metadata:
@@ -146,6 +149,7 @@ def from_dict(cls, data: Dict[str, Any]) -> Metadata:
             integration_test_targets=data.get("integration_test_targets", []),
             integration_test_config=data.get("integration_test_config", []),
             test_args=data.get("test_args", []),
+            dependable_element_docs=data.get("dependable_element_docs", []),
         )
 
     def to_dict(self) -> Dict[str, Any]:
@@ -165,6 +169,8 @@ def to_dict(self) -> Dict[str, Any]:
             "integration_test_targets": self.integration_test_targets,
             "integration_test_config": self.integration_test_config,
             "test_args": self.test_args,
+            # Only where set, so modules without dependable element docs keep their JSON unchanged.
+            **({"dependable_element_docs": self.dependable_element_docs} if self.dependable_element_docs else {}),
         }
 
 
diff --git a/scripts/tooling/lib/known_good/module.py b/scripts/tooling/lib/known_good/module.py
index cd08beda9c2..fd42a6cfa1d 100644
--- a/scripts/tooling/lib/known_good/module.py
+++ b/scripts/tooling/lib/known_good/module.py
@@ -28,7 +28,6 @@ class Metadata:
     extra_test_config: list[str] = field(default_factory=list)
     exclude_test_targets: list[str] = field(default_factory=list)
     langs: list[str] = field(default_factory=lambda: ["cpp", "rust"])
-    dependable_element_docs: list[str] = field(default_factory=list)
 
     @classmethod
     def from_dict(cls, data: Dict[str, Any]) -> Metadata:
@@ -37,7 +36,6 @@ def from_dict(cls, data: Dict[str, Any]) -> Metadata:
             extra_test_config=data.get("extra_test_config", []),
             exclude_test_targets=data.get("exclude_test_targets", []),
             langs=data.get("langs", ["cpp", "rust"]),
-            dependable_element_docs=data.get("dependable_element_docs", []),
         )
 
     def to_dict(self) -> Dict[str, Any]:
@@ -46,7 +44,6 @@ def to_dict(self) -> Dict[str, Any]:
             "extra_test_config": self.extra_test_config,
             "exclude_test_targets": self.exclude_test_targets,
             "langs": self.langs,
-            "dependable_element_docs": self.dependable_element_docs,
         }
 
 

From 7ae16fd1a1ee9e2a82dd1df15dc431b7f7d16d9e Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Fri, 30 Oct 2026 20:54:21 +0100
Subject: [PATCH 40/80] module_tests: exclude score_logging backend
 architectural design validation

score_tooling 3.x rejects its class diagram, like the datarouter one already excluded.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 known_good.json | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/known_good.json b/known_good.json
index e8bef50ce1d..2974a994969 100644
--- a/known_good.json
+++ b/known_good.json
@@ -174,9 +174,11 @@
                     ],
                     "exclude_test_targets": [
                         "//score/mw/log/legacy_non_verbose_api:unit_test",
-                        "//score/datarouter/doc/design:datarouter_architectural_design"
+                        "//score/datarouter/doc/design:datarouter_architectural_design",
+                        "//score/mw/log/design/backend:mw_log_backend_architectural_design"
                     ],
                     "test_notes": {
+                        "//score/mw/log/design/backend:mw_log_backend_architectural_design": "TODO fix in score_logging: score_tooling's architectural-design validation rejects datarouter_class_diagram.puml ('expected a Component diagram, found a Class diagram')",
                         "//score/datarouter/doc/design:datarouter_architectural_design": "TODO fix in score_logging: score_tooling's architectural-design validation rejects the datarouter diagrams ('datarouter' children split across context-sw-units.puml and detail-ipc.puml)"
                     },
                     "integration_test_targets": [

From c7eff4581853df0bdf783ea4044de2e7750669de Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 12:07:03 +0000
Subject: [PATCH 41/80] Release note diagram: slimmer header

Move release/date/origin line to the top right, shrink title and key figures.
---
 .../releases/_assets/architecture_v0_10.svg   | 442 +++++++++---------
 scripts/release_note/architecture_diagram.py  |  18 +-
 2 files changed, 230 insertions(+), 230 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index dc8acda8b54..d297ef4b366 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -1,221 +1,221 @@
-
-S-CORE Platform v0.10
-Reference integration architecture
-DRAFT
-5
-target images
-10
-infrastructure modules
-32
-components
-8
-software modules
-v0.10.0  ·  planned 2026-11-02  ·  compared to v0.9.0
-PLATFORM, INFRASTRUCTURE& TOOLING10 modules
-
-
-
-Platform
-v0.7.4
-
-
-
-Crates
-v0.0.11
-
-
-
-ITF
-v0.6.0
-
-
-
-Tools
-NEW
-4b48cec
-
-
-
-Tooling
-v2.2.3
-
-
-
-Bazel Platforms
-v1.1.0
-
-
-
-Test Scenarios
-v0.5.0
-
-
-
-Docs-as-code
-v8.6.0
-
-
-
-Process description
-v2.2.2
-
-
-
-Bazel CPP Toolchain
-v1.0.3
-INTEGRATED SOFTWARE MODULES8 modules
-
-
-
-Baselibs
-v0.2.16
-was v0.2.12
-
-Bit Manipulation
-
-Concurrency
-
-Containers
-
-Cross-Language Shared-Layout Data Types
-
-Filesystem
-
-FlatBuffers
-
-Hash Library
-
-JSON
-
-JSON-Wrapper
-
-Log Frontend
-
-Memory Shared
-
-OS
-
-Result
-
-Rust Containers
-
-SafeCpp
-
-Scope Exit
-
-Static Reflection with Serialization
-
-String Manipulation
-
-Utils
-
-VaJson
-
-baselibs
-
-
-
-Communication
-313f117
-was v0.4.0
-
-IPC Binding
-
-Lola Configuration
-
-Message Passing
-
-Mock binding
-
-mw::com Frontend
-
-communication
-
-
-
-Persistency
-41d7609
-was v0.3.5
-
-persistency::kvs
-
-persistency
-
-
-
-Kyron
-52d4bef
-was v0.1.4
-no components documented
-
-kyron
-
-
-
-Lifecycle
-v0.9.0
-was v0.6.1
-
-Health Monitor
-
-Launch Manager
-
-lifecycle
-
-
-
-Logging
-v0.2.5
-was v0.2.4
-
-Datarouter
-
-mw::log Backend
-
-logging
-
-
-
-Time
-3723ce6
-was v0.0.2
-
-Time
-
-Time Sync Client
-
-time
-
-
-
-Configuration
-Management
-d0dab01
-was v0.2.0
-no components documented
-
-config_management
-TARGET IMAGESdashed: experimental
-
-Linux
-x86_64
-
-QNX 8.0
-x86_64
-
-QNX 8.0
-aarch64
-
-Red Hat AutoSD
-x86_64
-
-EB corbos Linux
-aarch64
-
-released (tag)
-
-unreleased (commit pin)
-NEW
-new since v0.9.0  (1)
-was … = version in v0.9.0
-generated from known_good.json @ 12bd1f15073
+
+S-CORE Platform v0.10
+Reference integration architecture
+DRAFT
+v0.10.0  ·  planned 2026-11-02  ·  compared to v0.9.0
+5
+target images
+10
+infrastructure modules
+32
+components
+8
+software modules
+PLATFORM, INFRASTRUCTURE& TOOLING10 modules
+
+
+
+Platform
+v0.7.4
+
+
+
+Crates
+v0.0.11
+
+
+
+ITF
+v0.6.0
+
+
+
+Tools
+NEW
+4b48cec
+
+
+
+Tooling
+v2.2.3
+
+
+
+Bazel Platforms
+v1.1.0
+
+
+
+Test Scenarios
+v0.5.0
+
+
+
+Docs-as-code
+v8.6.0
+
+
+
+Process description
+v2.2.2
+
+
+
+Bazel CPP Toolchain
+v1.0.3
+INTEGRATED SOFTWARE MODULES8 modules
+
+
+
+Baselibs
+v0.2.16
+was v0.2.12
+
+Bit Manipulation
+
+Concurrency
+
+Containers
+
+Cross-Language Shared-Layout Data Types
+
+Filesystem
+
+FlatBuffers
+
+Hash Library
+
+JSON
+
+JSON-Wrapper
+
+Log Frontend
+
+Memory Shared
+
+OS
+
+Result
+
+Rust Containers
+
+SafeCpp
+
+Scope Exit
+
+Static Reflection with Serialization
+
+String Manipulation
+
+Utils
+
+VaJson
+
+baselibs
+
+
+
+Communication
+313f117
+was v0.4.0
+
+IPC Binding
+
+Lola Configuration
+
+Message Passing
+
+Mock binding
+
+mw::com Frontend
+
+communication
+
+
+
+Persistency
+41d7609
+was v0.3.5
+
+persistency::kvs
+
+persistency
+
+
+
+Kyron
+v0.1.5
+was v0.1.4
+no components documented
+
+kyron
+
+
+
+Lifecycle
+v0.9.0
+was v0.6.1
+
+Health Monitor
+
+Launch Manager
+
+lifecycle
+
+
+
+Logging
+v0.2.5
+was v0.2.4
+
+Datarouter
+
+mw::log Backend
+
+logging
+
+
+
+Time
+3723ce6
+was v0.0.2
+
+Time
+
+Time Sync Client
+
+time
+
+
+
+Configuration
+Management
+d0dab01
+was v0.2.0
+no components documented
+
+config_management
+TARGET IMAGESdashed: experimental
+
+Linux
+x86_64
+
+QNX 8.0
+x86_64
+
+QNX 8.0
+aarch64
+
+Red Hat AutoSD
+x86_64
+
+EB corbos Linux
+aarch64
+
+released (tag)
+
+unreleased (commit pin)
+NEW
+new since v0.9.0  (1)
+was … = version in v0.9.0
+generated from known_good.json @ 5e84ced7a38
diff --git a/scripts/release_note/architecture_diagram.py b/scripts/release_note/architecture_diagram.py
index 62f15c32712..c5dc7d30447 100644
--- a/scripts/release_note/architecture_diagram.py
+++ b/scripts/release_note/architecture_diagram.py
@@ -265,12 +265,14 @@ def history(e: grn.Entry) -> tuple[bool, str | None]:
 
     # Header with key figures
     short = ".".join(release.removeprefix("v").split(".")[:2])
-    parts.append(f'')
+    parts.append(f'')
     title = f"S-CORE Platform v{short}"
-    parts.append(text(M, 54, title, 32, 800, "#ffffff"))
-    parts.append(text(M, 86, "Reference integration architecture", 16, 400, HEADER_TEXT))
+    parts.append(text(M, 44, title, 26, 800, "#ffffff"))
+    parts.append(text(M, 68, "Reference integration architecture", 15, 400, HEADER_TEXT))
     state, color = ("FINAL", RELEASED) if final else ("DRAFT", UNRELEASED)
-    parts.append(pill(M + text_width(title, 32, 800) + 20 + 12 + 7 * len(state), 30, state, color, 24))
+    parts.append(pill(M + text_width(title, 26, 800) + 20 + 12 + 7 * len(state), 25, state, color, 20))
+    when = f"released {date}" if final else f"planned {date}"
+    parts.append(text(W - M, 26, f"{release}  \u00b7  {when}  \u00b7  compared to {origin}", 12, 400, HEADER_FAINT, "end"))
     figures = [
         (str(len(sw)), "software modules"),
         (str(sum(map(len, components.values()))), "components"),
@@ -280,12 +282,10 @@ def history(e: grn.Entry) -> tuple[bool, str | None]:
     x = W - M
     for value, label in reversed(figures):
         w = max(text_width(label, 11) + 8, 70)
-        parts.append(text(x, 62, value, 28, 800, "#ffffff", "end"))
-        parts.append(text(x, 82, label, 11, 400, HEADER_TEXT, "end"))
+        parts.append(text(x, 56, value, 22, 800, "#ffffff", "end"))
+        parts.append(text(x, 72, label, 11, 400, HEADER_TEXT, "end"))
         x -= w + 26
-    when = f"released {date}" if final else f"planned {date}"
-    parts.append(text(M, 114, f"{release}  \u00b7  {when}  \u00b7  compared to {origin}", 12, 400, HEADER_FAINT))
-    top = 156.0
+    top = 112.0
     side_x, side_w = float(M), 300.0
     right_x = side_x + side_w + 20
     right_w = W - M - right_x

From 6b4c5e453c309db1aa3f3ee8124d05860551fb29 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 13:00:20 +0000
Subject: [PATCH 42/80] Bump score_config_management to v0.3.1

---
 bazel_common/score_modules_target_sw.MODULE.bazel | 2 +-
 known_good.json                                   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 429482febce..114cc6f5dc1 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -96,7 +96,7 @@ git_override(
 bazel_dep(name = "score_config_management")
 git_override(
     module_name = "score_config_management",
-    commit = "50051d3ae061eb17c2907ce9438617238bf9255d",
+    commit = "2e213d5fd030f3f2cd6b7504841b5c7aa6f4a660",
     patch_strip = 1,
     patches = [
         "//patches/config_management:001-expose-mw-com-config.patch",
diff --git a/known_good.json b/known_good.json
index 2974a994969..be3e8b9ca1a 100644
--- a/known_good.json
+++ b/known_good.json
@@ -230,7 +230,7 @@
             "score_config_management": {
                 "repo": "https://github.com/eclipse-score/config_management.git",
                 "docs": false,
-                "hash": "50051d3ae061eb17c2907ce9438617238bf9255d",
+                "hash": "2e213d5fd030f3f2cd6b7504841b5c7aa6f4a660",
                 "bazel_patches": [
                     "//patches/config_management:001-expose-mw-com-config.patch",
                     "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",

From 8c5df0f3e77edc8cb06d0507337deaab83be65b5 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 13:06:26 +0000
Subject: [PATCH 43/80] Release note v0.10: refresh for config_management
 v0.3.1 and latest branch state

---
 .../releases/_assets/architecture_v0_10.svg   | 10 +++----
 .../releases/release_note_score_v0_10.rst     | 27 +++++++++++--------
 2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index d297ef4b366..02c97597bb2 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -37,7 +37,7 @@
 
 
 Tooling
-v2.2.3
+v3.0.1
 
 
 
@@ -116,7 +116,7 @@
 
 
 Communication
-313f117
+cea38c1
 was v0.4.0
 
 IPC Binding
@@ -187,10 +187,10 @@
 time
 
 
-
+
 Configuration
 Management
-d0dab01
+v0.3.1
 was v0.2.0
 no components documented
 
@@ -218,4 +218,4 @@
 NEW
 new since v0.9.0  (1)
 was … = version in v0.9.0
-generated from known_good.json @ 5e84ced7a38
+generated from known_good.json @ 6b4c5e453c3
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index f32c8765f28..ab9aa979116 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -167,6 +167,11 @@ Documentation and reports
 - The Overall Status page was replaced by the Release-wide Progress Overview
   next to the release notes, with release-over-release charts per module
   (`#392 `__).
+- The documentation of the Communication dependable element is published via
+  the module test artifacts and linked from the module documentation index; the
+  ``metadata.dependable_element_docs`` field of ``known_good.json`` enables it
+  (`bbf95e3 `__,
+  `d612b38 `__).
 - The release note is generated from ``known_good.json`` with
   ``scripts/release_note/generate_release_note.py``
   (`#414 `__).
@@ -302,17 +307,17 @@ from seconds to milliseconds.
      - ``v0.2.16``
      - `Release notes `__
      - :doc:`Verification report `
-   * - `Communication `__
-     - ``313f117 (unreleased)``
+   * - `Communication `__
+     - ``cea38c1 (unreleased)``
      - ---
      - ---
    * - `Persistency `__
      - ``41d7609 (unreleased)``
      - ---
      - :doc:`Verification report `
-   * - `Kyron `__
-     - ``52d4bef (unreleased)``
-     - ---
+   * - `Kyron `__
+     - ``v0.1.5``
+     - `Release notes `__
      - ---
    * - `Lifecycle `__
      - ``v0.9.0``
@@ -326,9 +331,9 @@ from seconds to milliseconds.
      - ``3723ce6 (unreleased)``
      - ---
      - ---
-   * - `Configuration Management `__
-     - ``d0dab01 (unreleased)``
-     - ---
+   * - `Configuration Management `__
+     - ``v0.3.1``
+     - `Release notes `__
      - ---
 
 🔧 Associated Infrastructure Modules
@@ -350,9 +355,9 @@ from seconds to milliseconds.
    * - `Tools `__
      - ``4b48cec (unreleased)``
      - ---
-   * - `Tooling `__
-     - ``v2.2.3``
-     - `Release notes `__
+   * - `Tooling `__
+     - ``v3.0.1``
+     - `Release notes `__
    * - `Bazel Platforms `__
      - ``v1.1.0``
      - `Release notes `__

From 815434b88eeb90af5cae23a47a107ddb4e419e55 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 13:07:54 +0000
Subject: [PATCH 44/80] Fix ruff formatting in architecture_diagram.py

---
 scripts/release_note/architecture_diagram.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/release_note/architecture_diagram.py b/scripts/release_note/architecture_diagram.py
index c5dc7d30447..8cd26f81787 100644
--- a/scripts/release_note/architecture_diagram.py
+++ b/scripts/release_note/architecture_diagram.py
@@ -272,7 +272,9 @@ def history(e: grn.Entry) -> tuple[bool, str | None]:
     state, color = ("FINAL", RELEASED) if final else ("DRAFT", UNRELEASED)
     parts.append(pill(M + text_width(title, 26, 800) + 20 + 12 + 7 * len(state), 25, state, color, 20))
     when = f"released {date}" if final else f"planned {date}"
-    parts.append(text(W - M, 26, f"{release}  \u00b7  {when}  \u00b7  compared to {origin}", 12, 400, HEADER_FAINT, "end"))
+    parts.append(
+        text(W - M, 26, f"{release}  \u00b7  {when}  \u00b7  compared to {origin}", 12, 400, HEADER_FAINT, "end")
+    )
     figures = [
         (str(len(sw)), "software modules"),
         (str(sum(map(len, components.values()))), "components"),

From e1a01753b5585fba2a6edc7431ab39742e9c2558 Mon Sep 17 00:00:00 2001
From: Arkadiusz Jedrzejewski 
Date: Mon, 2 Nov 2026 14:44:27 +0100
Subject: [PATCH 45/80] Bump persistency to v0.4.0

---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 bazel_common/score_python.MODULE.bazel            | 1 -
 known_good.json                                   | 6 +++---
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index e85ae02397f..8fcda1977c8 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1134,6 +1134,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/MODULE.bazel": "1d00205b2f3f3da1b7ecaf67de1a6a794f98502fd0d2f969160076f9ac3cc241",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/source.json": "5fbfa8bd1decf0a0d08c6ab171e1f882744d068a629896178a8e1591d21e93ce",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/source.json": "a5ed01a942535f7042e89ef5f586542f5367af83b6e58f91d2689f02a7e16fc6",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/2.0.2/MODULE.bazel": "6d2b227bb6880e9f6871cc8cf94c83399e35c188424f7e9b826262de8149ed43",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 114cc6f5dc1..c65be928f1c 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -38,14 +38,13 @@ git_override(
 )
 
 bazel_dep(name = "score_persistency")
-git_override(
+single_version_override(
     module_name = "score_persistency",
-    commit = "41d76090c7d0b05068cdc5bb22ef2e9f3571906a",
     patch_strip = 1,
     patches = [
         "//patches/persistency:003-undev-deps-for-root-module.patch",
     ],
-    remote = "https://github.com/eclipse-score/persistency.git",
+    version = "0.4.0",
 )
 
 bazel_dep(name = "score_kyron")
diff --git a/bazel_common/score_python.MODULE.bazel b/bazel_common/score_python.MODULE.bazel
index b59a4efb120..bde54eb9bd3 100644
--- a/bazel_common/score_python.MODULE.bazel
+++ b/bazel_common/score_python.MODULE.bazel
@@ -29,7 +29,6 @@ pip.parse(
     requirements_lock = "//feature_integration_tests/test_cases:requirements.txt.lock",
 )
 use_repo(pip, "pip_score_venv_test")
-
 pip.parse(
     envsubst = ["PIP_INDEX_URL"],
     extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],
diff --git a/known_good.json b/known_good.json
index be3e8b9ca1a..c4a24d32851 100644
--- a/known_good.json
+++ b/known_good.json
@@ -101,11 +101,11 @@
                         "flaky_test_attempts=3"
                     ],
                     "test_args": [
-                        "--config=per-x86_64-linux",
+                        "--config=score-linux-x86_64",
                         "//:unit_tests"
                     ]
                 },
-                "hash": "41d76090c7d0b05068cdc5bb22ef2e9f3571906a"
+                "version": "0.4.0"
             },
             "score_kyron": {
                 "repo": "https://github.com/eclipse-score/kyron.git",
@@ -351,4 +351,4 @@
         ]
     },
     "timestamp": "2026-08-28T09:19:12Z"
-}
+}
\ No newline at end of file

From 5e816cbf32b1f4273c455c965ec3babe37e79a03 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Mon, 2 Nov 2026 13:46:51 +0100
Subject: [PATCH 46/80] Update communication to v0.6.0

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 bazel_common/score_modules_target_sw.MODULE.bazel | 2 +-
 known_good.json                                   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index c65be928f1c..dc6a1b77458 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -29,7 +29,7 @@ single_version_override(
 bazel_dep(name = "score_communication")
 git_override(
     module_name = "score_communication",
-    commit = "cea38c1f8404049b20645a63a740e5f57362eae4",
+    commit = "c5efd74f64c42ea3c60e19a1a3d5456a47ed1115",
     patch_strip = 1,
     patches = [
         "//patches/communication:001-expose-comm-examples.patch",
diff --git a/known_good.json b/known_good.json
index c4a24d32851..0a800e362cd 100644
--- a/known_good.json
+++ b/known_good.json
@@ -40,7 +40,7 @@
             "score_communication": {
                 "repo": "https://github.com/eclipse-score/communication.git",
                 "docs": false,
-                "hash": "cea38c1f8404049b20645a63a740e5f57362eae4",
+                "hash": "c5efd74f64c42ea3c60e19a1a3d5456a47ed1115",
                 "bazel_patches": [
                     "//patches/communication:001-expose-comm-examples.patch"
                 ],

From 78e0abbda02127c31bddb99f41cc3bd6bc1105ce Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Mon, 2 Nov 2026 14:30:16 +0100
Subject: [PATCH 47/80] Use communication release version 0.6.0 instead of
 commit hash

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 8fcda1977c8..2abb41b2d5b 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1128,6 +1128,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/3.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/MODULE.bazel": "ab876c72e62f4ad29a20da6fe69c7d888c49f12d382dac241ee7ff98341778ff",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/source.json": "fce4fdcbb347484e4d7d8b9ecec251e21ec7f462ad02a38dbc5bec9057e7c470",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/MODULE.bazel": "02d8915b743ef28130352bd3e5fcfb3356122dd437e5a9d187505fcff7de481b",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index dc6a1b77458..24883aee705 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -27,14 +27,13 @@ single_version_override(
 )
 
 bazel_dep(name = "score_communication")
-git_override(
+single_version_override(
     module_name = "score_communication",
-    commit = "c5efd74f64c42ea3c60e19a1a3d5456a47ed1115",
     patch_strip = 1,
     patches = [
         "//patches/communication:001-expose-comm-examples.patch",
     ],
-    remote = "https://github.com/eclipse-score/communication.git",
+    version = "0.6.0",
 )
 
 bazel_dep(name = "score_persistency")
diff --git a/known_good.json b/known_good.json
index 0a800e362cd..106b5ca0a3b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -40,7 +40,7 @@
             "score_communication": {
                 "repo": "https://github.com/eclipse-score/communication.git",
                 "docs": false,
-                "hash": "c5efd74f64c42ea3c60e19a1a3d5456a47ed1115",
+                "version": "0.6.0",
                 "bazel_patches": [
                     "//patches/communication:001-expose-comm-examples.patch"
                 ],

From 195f521f5fa0f3f25bc07351d87dfcfa872396d9 Mon Sep 17 00:00:00 2001
From: Ulrich Huber 
Date: Mon, 2 Nov 2026 14:59:57 +0100
Subject: [PATCH 48/80] Fix buildifier formatting in score_python.MODULE.bazel

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 bazel_common/score_python.MODULE.bazel | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bazel_common/score_python.MODULE.bazel b/bazel_common/score_python.MODULE.bazel
index bde54eb9bd3..b59a4efb120 100644
--- a/bazel_common/score_python.MODULE.bazel
+++ b/bazel_common/score_python.MODULE.bazel
@@ -29,6 +29,7 @@ pip.parse(
     requirements_lock = "//feature_integration_tests/test_cases:requirements.txt.lock",
 )
 use_repo(pip, "pip_score_venv_test")
+
 pip.parse(
     envsubst = ["PIP_INDEX_URL"],
     extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],

From 10094d59fe30b980c81f9c480a369c352414077b Mon Sep 17 00:00:00 2001
From: Piotr Korkus 
Date: Mon, 2 Nov 2026 16:02:34 +0100
Subject: [PATCH 49/80] bump kyron to v0.1.6

---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 2abb41b2d5b..ac68bf82004 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1136,6 +1136,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_kyron/0.1.6/MODULE.bazel": "e0bb42ba3ec63ae5100940a7b0b76a8d320ff1411814739e84b58ed56bc580d9",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_kyron/0.1.6/source.json": "2912db9d95e1d9ab3ab9bf08c55d312205da122764982a7a9b7b08543346a803",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/MODULE.bazel": "1d00205b2f3f3da1b7ecaf67de1a6a794f98502fd0d2f969160076f9ac3cc241",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/source.json": "5fbfa8bd1decf0a0d08c6ab171e1f882744d068a629896178a8e1591d21e93ce",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 24883aee705..0dbf06eaaed 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -47,10 +47,9 @@ single_version_override(
 )
 
 bazel_dep(name = "score_kyron")
-git_override(
+single_version_override(
     module_name = "score_kyron",
-    commit = "52d4bef3d1822f82199d72e58e815b9e43406fe6",
-    remote = "https://github.com/eclipse-score/kyron.git",
+    version = "0.1.6",
 )
 
 bazel_dep(name = "score_lifecycle")
diff --git a/known_good.json b/known_good.json
index 106b5ca0a3b..44669b8bba5 100644
--- a/known_good.json
+++ b/known_good.json
@@ -121,7 +121,7 @@
                         "//src/..."
                     ]
                 },
-                "hash": "52d4bef3d1822f82199d72e58e815b9e43406fe6"
+                "version": "0.1.6"
             },
             "score_lifecycle": {
                 "repo": "https://github.com/eclipse-score/lifecycle.git",

From 529d134ab6ab4515718dd4835f8b16ecb4c946f0 Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Mon, 2 Nov 2026 15:06:31 +0000
Subject: [PATCH 50/80] Update lifecycle

---
 bazel_common/score_modules_target_sw.MODULE.bazel | 2 +-
 known_good.json                                   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 0dbf06eaaed..4fab787b405 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -55,7 +55,7 @@ single_version_override(
 bazel_dep(name = "score_lifecycle")
 git_override(
     module_name = "score_lifecycle",
-    commit = "2c3a919452b0f81a016c6c8783254d7d0189d0a9",
+    commit = "e4f9773336e7e483d973cc261b69ae3bc198f368",
     patch_strip = 1,
     patches = [
         "//patches/lifecycle:002-undev-integration-test-deps.patch",
diff --git a/known_good.json b/known_good.json
index 44669b8bba5..27b219b3c08 100644
--- a/known_good.json
+++ b/known_good.json
@@ -155,7 +155,7 @@
                         "//..."
                     ]
                 },
-                "hash": "2c3a919452b0f81a016c6c8783254d7d0189d0a9"
+                "hash": "e4f9773336e7e483d973cc261b69ae3bc198f368"
             },
             "score_logging": {
                 "repo": "https://github.com/eclipse-score/logging.git",

From 9c0136e094cfd76219077877a760c0e6fb8236d6 Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Mon, 2 Nov 2026 15:17:27 +0000
Subject: [PATCH 51/80] Fix schema ver for lifecycle

---
 showcases/simple_lifecycle/configs/launch_manager_config.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/showcases/simple_lifecycle/configs/launch_manager_config.json b/showcases/simple_lifecycle/configs/launch_manager_config.json
index e05bbf82857..de2945f69b5 100644
--- a/showcases/simple_lifecycle/configs/launch_manager_config.json
+++ b/showcases/simple_lifecycle/configs/launch_manager_config.json
@@ -1,5 +1,5 @@
 {
-    "schema_version": 1,
+    "schema_version": 2,
     "defaults": {
         "deployment_config": {
             "bin_dir": "/showcases/bin/",

From 8877e9af7c1529f0ffdb484866dfa12b38d3bfa6 Mon Sep 17 00:00:00 2001
From: Andrey Babanin 
Date: Mon, 2 Nov 2026 17:26:53 +0100
Subject: [PATCH 52/80] Bump baselibs to v0.2.17

---
 MODULE.bazel.lock                             | 144 ++++++++++--------
 .../score_modules_target_sw.MODULE.bazel      |   2 +-
 known_good.json                               |   2 +-
 3 files changed, 82 insertions(+), 66 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index ac68bf82004..a089bbef70c 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1126,8 +1126,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.4.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/3.1.2/MODULE.bazel": "not found",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/MODULE.bazel": "ab876c72e62f4ad29a20da6fe69c7d888c49f12d382dac241ee7ff98341778ff",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.16/source.json": "fce4fdcbb347484e4d7d8b9ecec251e21ec7f462ad02a38dbc5bec9057e7c470",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.17/MODULE.bazel": "3e4fd1084103b396c43f7548f485e202aa82e1c42e9e64635aac95dde92d4cc3",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.17/source.json": "7ecf7c675867bac77c7ddc4235a8f89c17f1d62ae1489d6554a51d717fa77040",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/MODULE.bazel": "02d8915b743ef28130352bd3e5fcfb3356122dd437e5a9d187505fcff7de481b",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
@@ -3771,9 +3771,9 @@
             "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo",
             "attributes": {
               "contents": {
-                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"adler32-1.2.0\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"adler32\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow-1.0.104\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh-0.1.19\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec-0.7.8\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream-0.3.6\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes-1.12.1\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc-1.10.0\",\n    actual = \"@crate_index__cc-1.10.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc\",\n    actual = \"@crate_index__cc-1.10.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack-0.3.8\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console-0.16.6\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc-3.5.2\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.11.11\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent-1.0.3\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash-0.2.0\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures-0.3.34\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown-0.17.1\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes-0.4.3\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-0.5.0\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap-2.14.2\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-0.18.6\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge-0.2.3\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel-0.20.2\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc-0.2.186\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.34\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crate_index__log-0.4.34//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom-0.7.2\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio-1.2.4\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall-0.14.0\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix-0.30.1\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste-1.0.15\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey-0.2.3\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args-0.5.0\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard-1.1.3\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2-1.0.107\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-0.14.4\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build-0.14.4\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types-0.14.4\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost-0.4.0\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic-0.4.1\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote-1.0.47\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand-0.9.5\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion-1.0.23\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe-0.2.1\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core-1.0.229\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook-0.3.18\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2-0.6.5\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn-2.0.119\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile-3.27.0\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-2.0.21\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time-0.3.55\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson-2.5.1\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-1.54.1\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket-0.8.2\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util-0.7.20\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic-0.14.8\",\n    actual = \"@crate_index__tonic-0.14.8//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic\",\n    actual = \"@crate_index__tonic-0.14.8//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-0.1.44\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber-0.3.23\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n    name = \"protoc-gen-prost__protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic__protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n    tags = [\"manual\"],\n)\n",
+                "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"adler32-1.2.0\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"adler32\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow-1.0.104\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh-0.1.19\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec-0.7.8\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream-0.3.6\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes-1.12.1\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc-1.11.0\",\n    actual = \"@crate_index__cc-1.11.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc\",\n    actual = \"@crate_index__cc-1.11.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack-0.3.8\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console-0.16.6\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc-3.5.2\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.11.11\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent-1.0.3\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash-0.2.0\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures-0.3.34\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown-0.17.1\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes-0.4.3\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-0.5.0\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap-2.14.2\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-0.18.6\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge-0.2.3\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel-0.20.2\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc-0.2.186\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.35\",\n    actual = \"@crate_index__log-0.4.35//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crate_index__log-0.4.35//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom-0.7.2\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio-1.2.4\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall-0.14.0\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix-0.30.1\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste-1.0.15\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey-0.2.3\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args-0.5.0\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard-1.1.3\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2-1.0.107\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-0.14.4\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build-0.14.4\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types-0.14.4\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost-0.4.0\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic-0.4.1\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote-1.0.47\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand-0.9.5\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion-1.0.23\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe-0.2.1\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core-1.0.229\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook-0.3.18\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2-0.6.5\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn-2.0.119\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile-3.27.0\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-2.0.21\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time-0.3.55\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson-2.5.1\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-1.54.1\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket-0.8.2\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util-0.7.20\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic-0.14.9\",\n    actual = \"@crate_index__tonic-0.14.9//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic\",\n    actual = \"@crate_index__tonic-0.14.9//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-0.1.44\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber-0.3.23\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n    name = \"protoc-gen-prost__protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic__protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n    tags = [\"manual\"],\n)\n",
                 "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n    # `ctx.attr.actual` is a list of 1 item due to the transition\n    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n    if CcInfo in ctx.attr.actual[0]:\n        providers.append(ctx.attr.actual[0][CcInfo])\n    return providers\n\ndef _change_compilation_mode(compilation_mode):\n    def _change_compilation_mode_impl(_settings, _attr):\n        return {\n            \"//command_line_option:compilation_mode\": compilation_mode,\n        }\n\n    return transition(\n        implementation = _change_compilation_mode_impl,\n        inputs = [],\n        outputs = [\n            \"//command_line_option:compilation_mode\",\n        ],\n    )\n\ndef _transition_alias_rule(compilation_mode):\n    return rule(\n        implementation = _transition_alias_impl,\n        provides = COMMON_PROVIDERS,\n        attrs = {\n            \"actual\": attr.label(\n                mandatory = True,\n                doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n                providers = COMMON_PROVIDERS,\n                cfg = _change_compilation_mode(compilation_mode),\n            ),\n            \"_allowlist_function_transition\": attr.label(\n                default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n            ),\n        },\n        doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n    )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n",
-                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.10.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.3\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.34\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.54.1\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.8\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.10.0\",\n        sha256 = \"86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.10.0/download\"],\n        strip_prefix = \"cc-1.10.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.10.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.2.0\",\n        sha256 = \"e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.2.0/download\"],\n        strip_prefix = \"defmt-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.2.0\",\n        sha256 = \"840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.2.0/download\"],\n        strip_prefix = \"defmt-macros-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.1.0\",\n        sha256 = \"71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.1.0/download\"],\n        strip_prefix = \"defmt-parser-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.9\",\n        sha256 = \"9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.9/download\"],\n        strip_prefix = \"deranged-0.5.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.3\",\n        sha256 = \"00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.3/download\"],\n        strip_prefix = \"equivalent-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.15\",\n        sha256 = \"1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.15/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.11\",\n        sha256 = \"1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.11/download\"],\n        strip_prefix = \"generator-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.4.0\",\n        sha256 = \"fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.4.0/download\"],\n        strip_prefix = \"icu_collections-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.4.0\",\n        sha256 = \"25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.4.0/download\"],\n        strip_prefix = \"icu_locale_core-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.4.0\",\n        sha256 = \"406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.4.0\",\n        sha256 = \"3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.4.0\",\n        sha256 = \"413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.4.0/download\"],\n        strip_prefix = \"icu_provider-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.4.0\",\n        sha256 = \"61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.4.0\",\n        sha256 = \"913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.38\",\n        sha256 = \"b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.38/download\"],\n        strip_prefix = \"jiff-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.1\",\n        sha256 = \"5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.1/download\"],\n        strip_prefix = \"jiff-core-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.38\",\n        sha256 = \"2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.38/download\"],\n        strip_prefix = \"jiff-static-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.106\",\n        sha256 = \"7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.106/download\"],\n        strip_prefix = \"js-sys-0.3.106\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.106.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.34\",\n        sha256 = \"f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.34/download\"],\n        strip_prefix = \"log-0.4.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.6\",\n        sha256 = \"e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.6/download\"],\n        strip_prefix = \"rustix-1.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.4\",\n        sha256 = \"d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.4/download\"],\n        strip_prefix = \"smallvec-1.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.9\",\n        sha256 = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.9/download\"],\n        strip_prefix = \"syn-3.0.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.5\",\n        sha256 = \"abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.5/download\"],\n        strip_prefix = \"tinystr-0.8.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.54.1\",\n        sha256 = \"b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.54.1/download\"],\n        strip_prefix = \"tokio-1.54.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.54.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.8\",\n        sha256 = \"cd1fa9b1a51188f3266a823208078315811269d06d272c3a61be0b9a194194ff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.8/download\"],\n        strip_prefix = \"tonic-0.14.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.3\",\n        sha256 = \"ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.3/download\"],\n        strip_prefix = \"unicode-width-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.0.4\",\n        sha256 = \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.0.4/download\"],\n        strip_prefix = \"utf8_iter-1.0.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.0.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.29.0\",\n        sha256 = \"4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.29.0/download\"],\n        strip_prefix = \"uuid-1.29.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.29.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.129\",\n        sha256 = \"9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.129\",\n        sha256 = \"2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.129\",\n        sha256 = \"6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.129\",\n        sha256 = \"23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.129/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.129\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.129.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.4\",\n        sha256 = \"417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.4/download\"],\n        strip_prefix = \"yoke-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.63\",\n        sha256 = \"e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.63/download\"],\n        strip_prefix = \"zerocopy-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.63\",\n        sha256 = \"863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.63/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.9\",\n        sha256 = \"f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.9/download\"],\n        strip_prefix = \"zerovec-0.11.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.7\",\n        sha256 = \"c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.7/download\"],\n        strip_prefix = \"zerovec-derive-0.11.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.10.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.54.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
+                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.11.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.3\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.35\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.54.1\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.9\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.11.0\",\n        sha256 = \"375989decec1a0fa424442bed520fa12ede43a48475ce8c7417d2c69b32b5f6b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.11.0/download\"],\n        strip_prefix = \"cc-1.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.2.0\",\n        sha256 = \"e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.2.0/download\"],\n        strip_prefix = \"defmt-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.2.0\",\n        sha256 = \"840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.2.0/download\"],\n        strip_prefix = \"defmt-macros-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.1.0\",\n        sha256 = \"71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.1.0/download\"],\n        strip_prefix = \"defmt-parser-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.9\",\n        sha256 = \"9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.9/download\"],\n        strip_prefix = \"deranged-0.5.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.3\",\n        sha256 = \"00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.3/download\"],\n        strip_prefix = \"equivalent-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.15\",\n        sha256 = \"1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.15/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.11\",\n        sha256 = \"1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.11/download\"],\n        strip_prefix = \"generator-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.4.0\",\n        sha256 = \"fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.4.0/download\"],\n        strip_prefix = \"icu_collections-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.4.0\",\n        sha256 = \"25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.4.0/download\"],\n        strip_prefix = \"icu_locale_core-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.4.0\",\n        sha256 = \"406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.4.0\",\n        sha256 = \"3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.4.0\",\n        sha256 = \"413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.4.0/download\"],\n        strip_prefix = \"icu_provider-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.4.0\",\n        sha256 = \"61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.4.0\",\n        sha256 = \"913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.38\",\n        sha256 = \"b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.38/download\"],\n        strip_prefix = \"jiff-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.1\",\n        sha256 = \"5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.1/download\"],\n        strip_prefix = \"jiff-core-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.38\",\n        sha256 = \"2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.38/download\"],\n        strip_prefix = \"jiff-static-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.107\",\n        sha256 = \"8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.107/download\"],\n        strip_prefix = \"js-sys-0.3.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.35\",\n        sha256 = \"5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.35/download\"],\n        strip_prefix = \"log-0.4.35\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.35.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.6\",\n        sha256 = \"e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.6/download\"],\n        strip_prefix = \"rustix-1.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.4\",\n        sha256 = \"d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.4/download\"],\n        strip_prefix = \"smallvec-1.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.9\",\n        sha256 = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.9/download\"],\n        strip_prefix = \"syn-3.0.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.5\",\n        sha256 = \"abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.5/download\"],\n        strip_prefix = \"tinystr-0.8.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.54.1\",\n        sha256 = \"b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.54.1/download\"],\n        strip_prefix = \"tokio-1.54.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.54.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.9\",\n        sha256 = \"e2cdfc673aabd30fe8fee92e65837b644c37c5d47f0f97ae6d5e0f1237d15e1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.9/download\"],\n        strip_prefix = \"tonic-0.14.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.3\",\n        sha256 = \"ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.3/download\"],\n        strip_prefix = \"unicode-width-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.1.0\",\n        sha256 = \"af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.1.0/download\"],\n        strip_prefix = \"utf8_iter-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf_types-1.0.0\",\n        sha256 = \"3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf_types/1.0.0/download\"],\n        strip_prefix = \"utf_types-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf_types-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.29.0\",\n        sha256 = \"4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.29.0/download\"],\n        strip_prefix = \"uuid-1.29.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.29.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.130\",\n        sha256 = \"a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.130\",\n        sha256 = \"6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.130\",\n        sha256 = \"2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.130\",\n        sha256 = \"3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.4\",\n        sha256 = \"417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.4/download\"],\n        strip_prefix = \"yoke-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.63\",\n        sha256 = \"e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.63/download\"],\n        strip_prefix = \"zerocopy-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.63\",\n        sha256 = \"863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.63/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.9\",\n        sha256 = \"f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.9/download\"],\n        strip_prefix = \"zerovec-0.11.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.7\",\n        sha256 = \"c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.7/download\"],\n        strip_prefix = \"zerovec-derive-0.11.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.11.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.35\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.54.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.9\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
               }
             }
           },
@@ -4158,7 +4158,7 @@
                 "https://static.crates.io/crates/bindgen/0.69.5/download"
               ],
               "strip_prefix": "bindgen-0.69.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bindgen\",\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:build_script_build\",\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__cexpr-0.6.0//:cexpr\",\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__itertools-0.12.1//:itertools\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n        \"@crate_index__lazycell-1.3.0//:lazycell\",\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__rustc-hash-1.1.0//:rustc_hash\",\n        \"@crate_index__shlex-1.3.0//:shlex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__which-4.4.2//:which\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n        \"which-rustfmt\",\n    ],\n    crate_root = \"lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.69.5\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n        \"which-rustfmt\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n    ],\n    edition = \"2018\",\n    pkg_name = \"bindgen\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.69.5\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bindgen\",\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:build_script_build\",\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__cexpr-0.6.0//:cexpr\",\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__itertools-0.12.1//:itertools\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n        \"@crate_index__lazycell-1.3.0//:lazycell\",\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__rustc-hash-1.1.0//:rustc_hash\",\n        \"@crate_index__shlex-1.3.0//:shlex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__which-4.4.2//:which\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n        \"which-rustfmt\",\n    ],\n    crate_root = \"lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.69.5\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n        \"which-rustfmt\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n    ],\n    edition = \"2018\",\n    pkg_name = \"bindgen\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.69.5\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__bindgen-0.72.1": {
@@ -4174,7 +4174,7 @@
                 "https://static.crates.io/crates/bindgen/0.72.1/download"
               ],
               "strip_prefix": "bindgen-0.72.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bindgen\",\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:build_script_build\",\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__cexpr-0.6.0//:cexpr\",\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__itertools-0.13.0//:itertools\",\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__rustc-hash-2.1.3//:rustc_hash\",\n        \"@crate_index__shlex-1.3.0//:shlex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n    ],\n    crate_root = \"lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.72.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"bindgen\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.72.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bindgen\",\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:build_script_build\",\n        \"@crate_index__bitflags-2.13.2//:bitflags\",\n        \"@crate_index__cexpr-0.6.0//:cexpr\",\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__itertools-0.13.0//:itertools\",\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__rustc-hash-2.1.3//:rustc_hash\",\n        \"@crate_index__shlex-1.3.0//:shlex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n    ],\n    crate_root = \"lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.72.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"logging\",\n        \"prettyplease\",\n        \"runtime\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__clang-sys-1.9.1//:clang_sys\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"bindgen\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.72.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__bitflags-1.3.2": {
@@ -4273,20 +4273,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"bytes\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=bytes\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.12.1\",\n)\n"
             }
           },
-          "crate_index__cc-1.10.0": {
+          "crate_index__cc-1.11.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0",
+              "sha256": "375989decec1a0fa424442bed520fa12ede43a48475ce8c7417d2c69b32b5f6b",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/cc/1.10.0/download"
+                "https://static.crates.io/crates/cc/1.11.0/download"
               ],
-              "strip_prefix": "cc-1.10.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cc\",\n    deps = [\n        \"@crate_index__find-msvc-tools-0.1.15//:find_msvc_tools\",\n        \"@crate_index__shlex-2.0.1//:shlex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.10.0\",\n)\n"
+              "strip_prefix": "cc-1.11.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cc\",\n    deps = [\n        \"@crate_index__find-msvc-tools-0.1.15//:find_msvc_tools\",\n        \"@crate_index__shlex-2.0.1//:shlex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cc\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.11.0\",\n)\n"
             }
           },
           "crate_index__cdr-0.2.4": {
@@ -4798,7 +4798,7 @@
                 "https://static.crates.io/crates/env_filter/2.0.0/download"
               ],
               "strip_prefix": "env_filter-2.0.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_filter\",\n    deps = [\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__regex-1.13.1//:regex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"regex\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_filter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_filter\",\n    deps = [\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__regex-1.13.1//:regex\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"regex\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_filter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.0.0\",\n)\n"
             }
           },
           "crate_index__env_logger-0.11.11": {
@@ -4814,7 +4814,7 @@
                 "https://static.crates.io/crates/env_logger/0.11.11/download"
               ],
               "strip_prefix": "env_logger-0.11.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crate_index__anstream-1.0.0//:anstream\",\n        \"@crate_index__anstyle-1.0.14//:anstyle\",\n        \"@crate_index__env_filter-2.0.0//:env_filter\",\n        \"@crate_index__jiff-0.2.38//:jiff\",\n        \"@crate_index__log-0.4.34//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.11\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crate_index__anstream-1.0.0//:anstream\",\n        \"@crate_index__anstyle-1.0.14//:anstyle\",\n        \"@crate_index__env_filter-2.0.0//:env_filter\",\n        \"@crate_index__jiff-0.2.38//:jiff\",\n        \"@crate_index__log-0.4.35//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.11\",\n)\n"
             }
           },
           "crate_index__equivalent-1.0.3": {
@@ -5134,7 +5134,7 @@
                 "https://static.crates.io/crates/generator/0.8.11/download"
               ],
               "strip_prefix": "generator-0.8.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"generator\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.11//:build_script_build\",\n        \"@crate_index__log-0.4.34//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.11\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"generator\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.11\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"generator\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__generator-0.8.11//:build_script_build\",\n        \"@crate_index__log-0.4.35//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(unix)\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.8.11\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__cc-1.11.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"generator\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=generator\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.8.11\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__getrandom-0.2.17": {
@@ -5886,7 +5886,7 @@
               "patches": [],
               "shallow_since": "",
               "remote": "https://github.com/qorix-group/iceoryx2.git",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_os_api_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_os_api_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.11.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-os-api-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
               "strip_prefix": "iceoryx2-pal/os-api",
               "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502"
             }
@@ -5904,7 +5904,7 @@
                 "https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download"
               ],
               "strip_prefix": "iceoryx2-pal-posix-0.5.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n        \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.5.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n        \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.69.5//:bindgen\",\n        \"@crate_index__cc-1.11.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.5.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__iceoryx2-pal-posix-qnx8-0.7.0": {
@@ -5918,7 +5918,7 @@
               ],
               "shallow_since": "",
               "remote": "https://github.com/qorix-group/iceoryx2.git",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.10.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"iceoryx2_pal_posix_qnx8\",\n    deps = [\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n        \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n        \"@crate_index__lazy_static-1.5.1//:lazy_static\",\n    ],\n    aliases = {\n        \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n        \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    deps = [\n        \"@crate_index__bindgen-0.72.1//:bindgen\",\n        \"@crate_index__cc-1.11.0//:cc\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"iceoryx2-pal-posix-qnx8\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=iceoryx2-pal-posix-qnx8\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
               "strip_prefix": "iceoryx2-pal/posix",
               "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502"
             }
@@ -5964,7 +5964,7 @@
                 "https://static.crates.io/crates/icu_collections/2.4.0/download"
               ],
               "strip_prefix": "icu_collections-2.4.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_collections\",\n    deps = [\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_collections\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_collections\",\n    deps = [\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__utf8_iter-1.1.0//:utf8_iter\",\n        \"@crate_index__yoke-0.8.4//:yoke\",\n        \"@crate_index__zerofrom-0.1.8//:zerofrom\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__displaydoc-0.2.7//:displaydoc\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_collections\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
           "crate_index__icu_locale_core-2.4.0": {
@@ -6044,7 +6044,7 @@
                 "https://static.crates.io/crates/icu_segmenter/2.4.0/download"
               ],
               "strip_prefix": "icu_segmenter-2.4.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter\",\n    deps = [\n        \"@crate_index__icu_collections-2.4.0//:icu_collections\",\n        \"@crate_index__icu_locale_fallback-2.4.0//:icu_locale_fallback\",\n        \"@crate_index__icu_provider-2.4.0//:icu_provider\",\n        \"@crate_index__icu_segmenter_data-2.4.0//:icu_segmenter_data\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__smallvec-1.16.4//:smallvec\",\n        \"@crate_index__utf8_iter-1.0.4//:utf8_iter\",\n        \"@crate_index__zerotrie-0.2.5//:zerotrie\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"icu_segmenter\",\n    deps = [\n        \"@crate_index__icu_collections-2.4.0//:icu_collections\",\n        \"@crate_index__icu_locale_fallback-2.4.0//:icu_locale_fallback\",\n        \"@crate_index__icu_provider-2.4.0//:icu_provider\",\n        \"@crate_index__icu_segmenter_data-2.4.0//:icu_segmenter_data\",\n        \"@crate_index__potential_utf-0.1.6//:potential_utf\",\n        \"@crate_index__smallvec-1.16.4//:smallvec\",\n        \"@crate_index__utf8_iter-1.1.0//:utf8_iter\",\n        \"@crate_index__zerotrie-0.2.5//:zerotrie\",\n        \"@crate_index__zerovec-0.11.9//:zerovec\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"compiled_data\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=icu_segmenter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
           "crate_index__icu_segmenter_data-2.4.0": {
@@ -6108,7 +6108,7 @@
                 "https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download"
               ],
               "strip_prefix": "indicatif-log-bridge-0.2.3",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indicatif_log_bridge\",\n    deps = [\n        \"@crate_index__indicatif-0.18.6//:indicatif\",\n        \"@crate_index__log-0.4.34//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indicatif-log-bridge\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.3\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"indicatif_log_bridge\",\n    deps = [\n        \"@crate_index__indicatif-0.18.6//:indicatif\",\n        \"@crate_index__log-0.4.35//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=indicatif-log-bridge\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.3\",\n)\n"
             }
           },
           "crate_index__ipc-channel-0.20.2": {
@@ -6255,20 +6255,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"jiff_static\",\n    deps = [\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    aliases = {\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\": \"jcore\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff-static\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.38\",\n)\n"
             }
           },
-          "crate_index__js-sys-0.3.106": {
+          "crate_index__js-sys-0.3.107": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5",
+              "sha256": "8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/js-sys/0.3.106/download"
+                "https://static.crates.io/crates/js-sys/0.3.107/download"
               ],
-              "strip_prefix": "js-sys-0.3.106",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"js_sys\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__wasm-bindgen-0.2.129//:wasm_bindgen\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=js-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.106\",\n)\n"
+              "strip_prefix": "js-sys-0.3.107",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"js_sys\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__wasm-bindgen-0.2.130//:wasm_bindgen\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=js-sys\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.3.107\",\n)\n"
             }
           },
           "crate_index__lazy_static-1.5.1": {
@@ -6399,20 +6399,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"lock_api\",\n    deps = [\n        \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"atomic_usize\",\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=lock_api\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.14\",\n)\n"
             }
           },
-          "crate_index__log-0.4.34": {
+          "crate_index__log-0.4.35": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6",
+              "sha256": "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/log/0.4.34/download"
+                "https://static.crates.io/crates/log/0.4.35/download"
               ],
-              "strip_prefix": "log-0.4.34",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"log\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=log\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.34\",\n)\n"
+              "strip_prefix": "log-0.4.35",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"log\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=log\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.4.35\",\n)\n"
             }
           },
           "crate_index__loom-0.7.2": {
@@ -6524,7 +6524,7 @@
                 "https://static.crates.io/crates/mio/1.2.4/download"
               ],
               "strip_prefix": "mio-1.2.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"mio\",\n    deps = [\n        \"@crate_index__log-0.4.34//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"log\",\n        \"net\",\n        \"os-ext\",\n        \"os-poll\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=mio\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.4\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"mio\",\n    deps = [\n        \"@crate_index__log-0.4.35//:log\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@crate_index__libc-0.2.186//:libc\",  # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"log\",\n        \"net\",\n        \"os-ext\",\n        \"os-poll\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=mio\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.4\",\n)\n"
             }
           },
           "crate_index__mockall-0.14.0": {
@@ -7148,7 +7148,7 @@
                 "https://static.crates.io/crates/prost-build/0.13.5/download"
               ],
               "strip_prefix": "prost-build-0.13.5",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"prost_build\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__itertools-0.14.0//:itertools\",\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__multimap-0.10.1//:multimap\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__petgraph-0.7.1//:petgraph\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__prost-0.13.5//:prost\",\n        \"@crate_index__prost-types-0.13.5//:prost_types\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__tempfile-3.27.0//:tempfile\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"format\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=prost-build\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.13.5\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"prost_build\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__itertools-0.14.0//:itertools\",\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__multimap-0.10.1//:multimap\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__petgraph-0.7.1//:petgraph\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__prost-0.13.5//:prost\",\n        \"@crate_index__prost-types-0.13.5//:prost_types\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__tempfile-3.27.0//:tempfile\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"format\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=prost-build\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.13.5\",\n)\n"
             }
           },
           "crate_index__prost-build-0.14.4": {
@@ -7164,7 +7164,7 @@
                 "https://static.crates.io/crates/prost-build/0.14.4/download"
               ],
               "strip_prefix": "prost-build-0.14.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"prost_build\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__itertools-0.14.0//:itertools\",\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__multimap-0.10.1//:multimap\",\n        \"@crate_index__petgraph-0.8.3//:petgraph\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__prost-0.14.4//:prost\",\n        \"@crate_index__prost-types-0.14.4//:prost_types\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__tempfile-3.27.0//:tempfile\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"format\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=prost-build\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.4\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"prost_build\",\n    deps = [\n        \"@crate_index__heck-0.5.0//:heck\",\n        \"@crate_index__itertools-0.14.0//:itertools\",\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__multimap-0.10.1//:multimap\",\n        \"@crate_index__petgraph-0.8.3//:petgraph\",\n        \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n        \"@crate_index__prost-0.14.4//:prost\",\n        \"@crate_index__prost-types-0.14.4//:prost_types\",\n        \"@crate_index__regex-1.13.1//:regex\",\n        \"@crate_index__syn-2.0.119//:syn\",\n        \"@crate_index__tempfile-3.27.0//:tempfile\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"format\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=prost-build\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.4\",\n)\n"
             }
           },
           "crate_index__prost-derive-0.13.5": {
@@ -8287,20 +8287,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"toml_write\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=toml_write\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.2\",\n)\n"
             }
           },
-          "crate_index__tonic-0.14.8": {
+          "crate_index__tonic-0.14.9": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "cd1fa9b1a51188f3266a823208078315811269d06d272c3a61be0b9a194194ff",
+              "sha256": "e2cdfc673aabd30fe8fee92e65837b644c37c5d47f0f97ae6d5e0f1237d15e1b",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/tonic/0.14.8/download"
+                "https://static.crates.io/crates/tonic/0.14.9/download"
               ],
-              "strip_prefix": "tonic-0.14.8",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tonic\",\n    deps = [\n        \"@crate_index__axum-0.8.9//:axum\",\n        \"@crate_index__base64-0.22.1//:base64\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__http-body-util-0.1.5//:http_body_util\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n        \"@crate_index__pin-project-1.1.13//:pin_project\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tokio-stream-0.1.19//:tokio_stream\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tower-0.5.3//:tower\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__async-trait-0.1.92//:async_trait\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"channel\",\n        \"codegen\",\n        \"default\",\n        \"h2\",\n        \"router\",\n        \"server\",\n        \"transport\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tonic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.8\",\n)\n"
+              "strip_prefix": "tonic-0.14.9",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tonic\",\n    deps = [\n        \"@crate_index__axum-0.8.9//:axum\",\n        \"@crate_index__base64-0.22.1//:base64\",\n        \"@crate_index__bytes-1.12.1//:bytes\",\n        \"@crate_index__h2-0.4.20//:h2\",\n        \"@crate_index__http-1.5.0//:http\",\n        \"@crate_index__http-body-1.1.0//:http_body\",\n        \"@crate_index__http-body-util-0.1.5//:http_body_util\",\n        \"@crate_index__hyper-1.12.0//:hyper\",\n        \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n        \"@crate_index__hyper-util-0.1.21//:hyper_util\",\n        \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n        \"@crate_index__pin-project-1.1.13//:pin_project\",\n        \"@crate_index__socket2-0.6.5//:socket2\",\n        \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n        \"@crate_index__tokio-1.54.1//:tokio\",\n        \"@crate_index__tokio-stream-0.1.19//:tokio_stream\",\n        \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n        \"@crate_index__tower-0.5.3//:tower\",\n        \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n        \"@crate_index__tower-service-0.3.3//:tower_service\",\n        \"@crate_index__tracing-0.1.44//:tracing\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__async-trait-0.1.92//:async_trait\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"channel\",\n        \"codegen\",\n        \"default\",\n        \"h2\",\n        \"router\",\n        \"server\",\n        \"transport\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2024\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tonic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.14.9\",\n)\n"
             }
           },
           "crate_index__tonic-build-0.12.3": {
@@ -8428,7 +8428,7 @@
                 "https://static.crates.io/crates/tracing-log/0.2.0/download"
               ],
               "strip_prefix": "tracing-log-0.2.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tracing_log\",\n    deps = [\n        \"@crate_index__log-0.4.34//:log\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"log-tracer\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tracing-log\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.0\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"tracing_log\",\n    deps = [\n        \"@crate_index__log-0.4.35//:log\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"log-tracer\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=tracing-log\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.0\",\n)\n"
             }
           },
           "crate_index__tracing-serde-0.2.0": {
@@ -8527,20 +8527,20 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"unit_prefix\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=unit-prefix\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.5.2\",\n)\n"
             }
           },
-          "crate_index__utf8_iter-1.0.4": {
+          "crate_index__utf8_iter-1.1.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be",
+              "sha256": "af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/utf8_iter/1.0.4/download"
+                "https://static.crates.io/crates/utf8_iter/1.1.0/download"
               ],
-              "strip_prefix": "utf8_iter-1.0.4",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf8_iter\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf8_iter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.4\",\n)\n"
+              "strip_prefix": "utf8_iter-1.1.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf8_iter\",\n    deps = [\n        \"@crate_index__utf_types-1.0.0//:utf_types\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf8_iter\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.1.0\",\n)\n"
             }
           },
           "crate_index__utf8parse-0.2.2": {
@@ -8559,6 +8559,22 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf8parse\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf8parse\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.2\",\n)\n"
             }
           },
+          "crate_index__utf_types-1.0.0": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "patch_args": [],
+              "patch_tool": "",
+              "patches": [],
+              "remote_patch_strip": 1,
+              "sha256": "3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6",
+              "type": "tar.gz",
+              "urls": [
+                "https://static.crates.io/crates/utf_types/1.0.0/download"
+              ],
+              "strip_prefix": "utf_types-1.0.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"utf_types\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=utf_types\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
+            }
+          },
           "crate_index__uuid-1.29.0": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
@@ -8655,68 +8671,68 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasip2\",\n    deps = [\n        \"@crate_index__wit-bindgen-0.57.1//:wit_bindgen\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasip2\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.4+wasi-0.2.12\",\n)\n"
             }
           },
-          "crate_index__wasm-bindgen-0.2.129": {
+          "crate_index__wasm-bindgen-0.2.130": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409",
+              "sha256": "a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/wasm-bindgen/0.2.129/download"
+                "https://static.crates.io/crates/wasm-bindgen/0.2.130/download"
               ],
-              "strip_prefix": "wasm-bindgen-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__once_cell-1.21.4//:once_cell\",\n        \"@crate_index__wasm-bindgen-0.2.129//:build_script_build\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:wasm_bindgen_shared\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__wasm-bindgen-macro-0.2.129//:wasm_bindgen_macro\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    aliases = {\n        \"@crate_index__rustversion-1.0.23//:rustversion\": \"rustversion_compat\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:wasm_bindgen_shared\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"wasm-bindgen\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.129\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "wasm-bindgen-0.2.130",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen\",\n    deps = [\n        \"@crate_index__cfg-if-1.0.5//:cfg_if\",\n        \"@crate_index__wasm-bindgen-0.2.130//:build_script_build\",\n        \"@crate_index__wasm-bindgen-shared-0.2.130//:wasm_bindgen_shared\",\n    ],\n    proc_macro_deps = [\n        \"@crate_index__wasm-bindgen-macro-0.2.130//:wasm_bindgen_macro\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.130\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    aliases = {\n        \"@crate_index__rustversion-1.0.23//:rustversion\": \"rustversion_compat\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@crate_index__wasm-bindgen-shared-0.2.130//:wasm_bindgen_shared\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"wasm-bindgen\",\n    proc_macro_deps = [\n        \"@crate_index__rustversion-1.0.23//:rustversion\",\n    ],\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.130\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
-          "crate_index__wasm-bindgen-macro-0.2.129": {
+          "crate_index__wasm-bindgen-macro-0.2.130": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535",
+              "sha256": "6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/wasm-bindgen-macro/0.2.129/download"
+                "https://static.crates.io/crates/wasm-bindgen-macro/0.2.130/download"
               ],
-              "strip_prefix": "wasm-bindgen-macro-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"wasm_bindgen_macro\",\n    deps = [\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__wasm-bindgen-macro-support-0.2.129//:wasm_bindgen_macro_support\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n"
+              "strip_prefix": "wasm-bindgen-macro-0.2.130",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"wasm_bindgen_macro\",\n    deps = [\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__wasm-bindgen-macro-support-0.2.130//:wasm_bindgen_macro_support\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.130\",\n)\n"
             }
           },
-          "crate_index__wasm-bindgen-macro-support-0.2.129": {
+          "crate_index__wasm-bindgen-macro-support-0.2.130": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7",
+              "sha256": "2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.129/download"
+                "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.130/download"
               ],
-              "strip_prefix": "wasm-bindgen-macro-support-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_macro_support\",\n    deps = [\n        \"@crate_index__bumpalo-3.20.3//:bumpalo\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:wasm_bindgen_shared\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro-support\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n"
+              "strip_prefix": "wasm-bindgen-macro-support-0.2.130",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_macro_support\",\n    deps = [\n        \"@crate_index__bumpalo-3.20.3//:bumpalo\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-3.0.9//:syn\",\n        \"@crate_index__wasm-bindgen-shared-0.2.130//:wasm_bindgen_shared\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-macro-support\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.130\",\n)\n"
             }
           },
-          "crate_index__wasm-bindgen-shared-0.2.129": {
+          "crate_index__wasm-bindgen-shared-0.2.130": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6",
+              "sha256": "3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/wasm-bindgen-shared/0.2.129/download"
+                "https://static.crates.io/crates/wasm-bindgen-shared/0.2.130/download"
               ],
-              "strip_prefix": "wasm-bindgen-shared-0.2.129",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_shared\",\n    deps = [\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n        \"@crate_index__wasm-bindgen-shared-0.2.129//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.129\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"wasm_bindgen\",\n    pkg_name = \"wasm-bindgen-shared\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.129\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "strip_prefix": "wasm-bindgen-shared-0.2.130",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"wasm_bindgen_shared\",\n    deps = [\n        \"@crate_index__unicode-ident-1.0.27//:unicode_ident\",\n        \"@crate_index__wasm-bindgen-shared-0.2.130//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.130\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    links = \"wasm_bindgen\",\n    pkg_name = \"wasm-bindgen-shared\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=wasm-bindgen-shared\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.2.130\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "crate_index__web-time-1.1.0": {
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 4fab787b405..7bff7fd8b84 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -23,7 +23,7 @@ single_version_override(
         "//patches/baselibs:002-restore-qnx8-poll-workaround.patch",
         "//patches/baselibs:003-export-aou-requirements.patch",
     ],
-    version = "0.2.16",
+    version = "0.2.17",
 )
 
 bazel_dep(name = "score_communication")
diff --git a/known_good.json b/known_good.json
index 27b219b3c08..1440097cc3b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -35,7 +35,7 @@
                         "//..."
                     ]
                 },
-                "version": "0.2.16"
+                "version": "0.2.17"
             },
             "score_communication": {
                 "repo": "https://github.com/eclipse-score/communication.git",

From bf79c943100250c68f0024fb916dd98bcb891366 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 16:36:43 +0000
Subject: [PATCH 53/80] Bump score_time to v0.3.1

Rebase patches/time/004-rename-ubuntu-image-pull.patch onto v0.3.1 and refresh MODULE.bazel.lock.
---
 MODULE.bazel.lock                                 | 6 +++++-
 bazel_common/score_modules_target_sw.MODULE.bazel | 2 +-
 known_good.json                                   | 2 +-
 patches/time/004-rename-ubuntu-image-pull.patch   | 6 +++---
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index a089bbef70c..df1ea777ecd 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -531,8 +531,9 @@
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/MODULE.bazel": "32d628ef586b5b23f67e55886b7bc38913ea4160420d66ae90521dda2ff37df0",
     "https://bcr.bazel.build/modules/rules_multirun/0.9.0/source.json": "e882ba77962fa6c5fe68619e5c7d0374ec9a219fb8d03c42eadaf6d0243771bd",
     "https://bcr.bazel.build/modules/rules_multitool/0.11.0/MODULE.bazel": "8d9dda78d2398e136300d3ef4fbcc89ede7c32c158d8c016fa7d032df41c4aaf",
+    "https://bcr.bazel.build/modules/rules_multitool/1.11.1/MODULE.bazel": "f826d2d394e8d964e44ebb4a75ebcfe4e9cd4eb150e2ddcd60398ffeb939696a",
+    "https://bcr.bazel.build/modules/rules_multitool/1.11.1/source.json": "201f43de1d35bd17f25a4fed3ba5a2ec500ef5e08b7d4b341bb9fd39cef0cbc6",
     "https://bcr.bazel.build/modules/rules_multitool/1.9.0/MODULE.bazel": "8a042b0dbf35e4aaa94c28ad69efa75c9e673e9ea4bd5c0fb70bab75ef9c636b",
-    "https://bcr.bazel.build/modules/rules_multitool/1.9.0/source.json": "d9a01604a8b5c4a0e9430824dd34ca5b1b3f5b25277b755e8f3ae91f2c9362a3",
     "https://bcr.bazel.build/modules/rules_nodejs/5.8.2/MODULE.bazel": "6bc03c8f37f69401b888023bf511cb6ee4781433b0cb56236b2e55a21e3a026a",
     "https://bcr.bazel.build/modules/rules_nodejs/6.2.0/MODULE.bazel": "ec27907f55eb34705adb4e8257952162a2d4c3ed0f0b3b4c3c1aad1fac7be35e",
     "https://bcr.bazel.build/modules/rules_nodejs/6.3.0/MODULE.bazel": "45345e4aba35dd6e4701c1eebf5a4e67af4ed708def9ebcdc6027585b34ee52d",
@@ -1061,6 +1062,7 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_license/1.0.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multirun/0.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.11.0/MODULE.bazel": "not found",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.11.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.9.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/5.8.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.2.0/MODULE.bazel": "not found",
@@ -1132,6 +1134,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.3/MODULE.bazel": "e44eabe3dbf91ab885fc4fc8214a23f671f78110f9be67d6c2eb8d297242030b",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.3/source.json": "7cd2c47d40e5979b3fe34fe527dbd4f52abbaa7b55775f27780d8923ea8dffe7",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 7bff7fd8b84..e00c3765f53 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -80,7 +80,7 @@ git_override(
 bazel_dep(name = "score_time")
 git_override(
     module_name = "score_time",
-    commit = "3723ce687e4abc7d6cb4c0efdbbd30455ed7c303",
+    commit = "94efbf738ed6529f2cd859f827c26fd6723951c0",
     patch_strip = 1,
     patches = [
         "//patches/time:003-disable-broken-qnx-ifs-target.patch",
diff --git a/known_good.json b/known_good.json
index 1440097cc3b..f686cbd65ac 100644
--- a/known_good.json
+++ b/known_good.json
@@ -200,7 +200,7 @@
             },
             "score_time": {
                 "repo": "https://github.com/eclipse-score/time.git",
-                "hash": "3723ce687e4abc7d6cb4c0efdbbd30455ed7c303",
+                "hash": "94efbf738ed6529f2cd859f827c26fd6723951c0",
                 "bazel_patches": [
                     "//patches/time:003-disable-broken-qnx-ifs-target.patch",
                     "//patches/time:004-rename-ubuntu-image-pull.patch",
diff --git a/patches/time/004-rename-ubuntu-image-pull.patch b/patches/time/004-rename-ubuntu-image-pull.patch
index fdc728427fc..11da1c6f5dc 100644
--- a/patches/time/004-rename-ubuntu-image-pull.patch
+++ b/patches/time/004-rename-ubuntu-image-pull.patch
@@ -1,7 +1,7 @@
 --- a/MODULE.bazel
 +++ b/MODULE.bazel
-@@ -227,14 +227,17 @@
- bazel_dep(name = "rules_oci", version = "2.2.7", dev_dependency = True)
+@@ -231,14 +231,17 @@ bazel_dep(name = "rules_pkg", version = "1.2.0")
+ bazel_dep(name = "rules_oci", version = "2.3.0", dev_dependency = True)
  
  oci = use_extension("@rules_oci//oci:extensions.bzl", "oci", dev_dependency = True)
 +
@@ -18,5 +18,5 @@
 -use_repo(oci, "ubuntu_24_04", "ubuntu_24_04_linux_amd64")
 +use_repo(oci, ubuntu_24_04 = "time_ubuntu_24_04", ubuntu_24_04_linux_amd64 = "time_ubuntu_24_04_linux_amd64")
  
- bazel_dep(name = "score_rules_imagefs", version = "0.0.3")
+ bazel_dep(name = "score_rules_imagefs", version = "0.1.0", dev_dependency = True)
  

From bc2b5bca09250b573c9a49b26721f631adbb83c4 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Mon, 2 Nov 2026 16:45:09 +0000
Subject: [PATCH 54/80] Release note v0.10: refresh for time v0.3.1 and latest
 module pins

---
 .../releases/_assets/architecture_v0_10.svg   | 149 +++++++++---------
 .../releases/release_note_score_v0_10.rst     |  57 ++++---
 2 files changed, 113 insertions(+), 93 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 02c97597bb2..11b0974e131 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -1,4 +1,4 @@
-
+
 S-CORE Platform v0.10
 Reference integration architecture
 DRAFT
@@ -7,11 +7,11 @@
 target images
 10
 infrastructure modules
-32
+34
 components
 8
 software modules
-PLATFORM, INFRASTRUCTURE& TOOLING10 modules
+PLATFORM, INFRASTRUCTURE& TOOLING10 modules
 
 
 
@@ -63,12 +63,12 @@
 
 Bazel CPP Toolchain
 v1.0.3
-INTEGRATED SOFTWARE MODULES8 modules
+INTEGRATED SOFTWARE MODULES8 modules
 
 
 
 Baselibs
-v0.2.16
+v0.2.17
 was v0.2.12
 
 Bit Manipulation
@@ -114,9 +114,9 @@
 baselibs
 
 
-
+
 Communication
-cea38c1
+v0.6.0
 was v0.4.0
 
 IPC Binding
@@ -132,9 +132,9 @@
 communication
 
 
-
+
 Persistency
-41d7609
+v0.4.0
 was v0.3.5
 
 persistency::kvs
@@ -144,78 +144,81 @@
 
 
 Kyron
-v0.1.5
+v0.1.6
 was v0.1.4
 no components documented
 
 kyron
-
-
-
+
+
+
 Lifecycle
-v0.9.0
+e4f9773
 was v0.6.1
 
 Health Monitor
 
 Launch Manager
-
+
 lifecycle
-
-
-
-Logging
-v0.2.5
-was v0.2.4
-
-Datarouter
-
-mw::log Backend
-
-logging
-
-
-
-Time
-3723ce6
-was v0.0.2
-
-Time
-
-Time Sync Client
-
-time
-
-
-
-Configuration
-Management
-v0.3.1
-was v0.2.0
-no components documented
-
-config_management
-TARGET IMAGESdashed: experimental
-
-Linux
-x86_64
-
-QNX 8.0
-x86_64
-
-QNX 8.0
-aarch64
-
-Red Hat AutoSD
-x86_64
-
-EB corbos Linux
-aarch64
-
-released (tag)
-
-unreleased (commit pin)
-NEW
-new since v0.9.0  (1)
-was … = version in v0.9.0
-generated from known_good.json @ 6b4c5e453c3
+
+
+
+Logging
+v0.2.5
+was v0.2.4
+
+Datarouter
+
+mw::log Backend
+
+logging
+
+
+
+Time
+v0.3.1
+was v0.0.2
+
+Time
+
+Time Daemon
+
+Time Slave
+
+Time Sync Client
+
+time
+
+
+
+Configuration Management
+v0.3.1
+was v0.2.0
+no components documented
+
+config_management
+TARGET IMAGESdashed: experimental
+
+Linux
+x86_64
+
+QNX 8.0
+x86_64
+
+QNX 8.0
+aarch64
+
+Red Hat AutoSD
+x86_64
+
+EB corbos Linux
+aarch64
+
+released (tag)
+
+unreleased (commit pin)
+NEW
+new since v0.9.0  (1)
+was … = version in v0.9.0
+generated from known_good.json @ bf79c943100
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index ab9aa979116..00a800234b6 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -244,8 +244,9 @@ build configurations and do not compare JSON output against the old format.
 Persistency: KVS API and file format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The integrated Persistency commit changes the public KVS API that applications
-use directly:
+Persistency ``v0.4.0`` changes the public KVS API that applications use
+directly
+(`Persistency v0.4.0 release notes `__):
 
 - ``Kvs::reset_key`` was renamed to ``SetValueToDefault`` (C++) and
   ``set_value_to_default`` (Rust), without a deprecated alias
@@ -279,6 +280,22 @@ Configurations with the old keys fail the schema validation
 Action required: rename the duration fields to ``*_ms`` and convert the values
 from seconds to milliseconds.
 
+Lifecycle: Launch Manager configuration schema version 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The integrated Lifecycle commit makes POSIX RLIMITs configurable for the
+processes started by the Launch Manager and raises the configuration
+``schema_version`` to ``2``; the options ``max_memory_usage`` and
+``max_cpu_usage`` were removed. The Lifecycle showcase configuration of this
+repository was updated accordingly
+(`lifecycle#868 `__,
+`9c0136e `__).
+
+Action required: set ``schema_version`` to ``2`` in Launch Manager
+configurations and replace ``max_memory_usage`` with the RLIMIT options
+(``RLIMIT_AS``, ``RLIMIT_STACK``, ``RLIMIT_DATA``) and ``max_cpu_usage`` with
+``RLIMIT_CPU``.
+
 🎯 Reference Integration scope
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -303,33 +320,33 @@ from seconds to milliseconds.
      - ``v0.7.4``
      - `Release notes `__
      - ---
-   * - `Baselibs `__
-     - ``v0.2.16``
-     - `Release notes `__
+   * - `Baselibs `__
+     - ``v0.2.17``
+     - `Release notes `__
      - :doc:`Verification report `
-   * - `Communication `__
-     - ``cea38c1 (unreleased)``
-     - ---
-     - ---
-   * - `Persistency `__
-     - ``41d7609 (unreleased)``
+   * - `Communication `__
+     - ``v0.6.0``
+     - `Release notes `__
      - ---
+   * - `Persistency `__
+     - ``v0.4.0``
+     - `Release notes `__
      - :doc:`Verification report `
-   * - `Kyron `__
-     - ``v0.1.5``
-     - `Release notes `__
+   * - `Kyron `__
+     - ``v0.1.6``
+     - `Release notes `__
+     - ---
+   * - `Lifecycle `__
+     - ``e4f9773 (unreleased)``
      - ---
-   * - `Lifecycle `__
-     - ``v0.9.0``
-     - `Release notes `__
      - :doc:`Verification report `
    * - `Logging `__
      - ``v0.2.5``
      - `Release notes `__
      - :doc:`Verification report `
-   * - `Time `__
-     - ``3723ce6 (unreleased)``
-     - ---
+   * - `Time `__
+     - ``v0.3.1``
+     - `Release notes `__
      - ---
    * - `Configuration Management `__
      - ``v0.3.1``

From e45262567e71ca8da65bcb8fb52b4e9249d6db25 Mon Sep 17 00:00:00 2001
From: Piotr Korkus 
Date: Mon, 2 Nov 2026 11:51:21 +0100
Subject: [PATCH 55/80] chore: bump devcontainer to 1.11.4 (#438)

---
 .devcontainer/devcontainer.json                |  2 +-
 .github/workflows/build_and_test_ebclfsa.yml   |  2 +-
 MODULE.bazel.lock                              |  4 ++--
 .../score_modules_tooling.MODULE.bazel         |  6 ++++++
 known_good.json                                |  6 ++++++
 scripts/module_tests.py                        | 18 +++++++++++++++---
 6 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 3f062048030..453554e9ddf 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,6 +1,6 @@
 {
   "name": "eclipse-s-core",
-  "image": "ghcr.io/eclipse-score/devcontainer:v1.11.0",
+  "image": "ghcr.io/eclipse-score/devcontainer:v1.11.4",
   "runArgs": [
     "--device=/dev/kvm"
   ],
diff --git a/.github/workflows/build_and_test_ebclfsa.yml b/.github/workflows/build_and_test_ebclfsa.yml
index 6451f99da84..bc0d176518e 100644
--- a/.github/workflows/build_and_test_ebclfsa.yml
+++ b/.github/workflows/build_and_test_ebclfsa.yml
@@ -28,7 +28,7 @@ jobs:
     name: aarch64
     runs-on: ubuntu-latest
     container:
-      image: ghcr.io/eclipse-score/devcontainer:v1.11.0
+      image: ghcr.io/eclipse-score/devcontainer:v1.11.4
     steps:
       - name: Clean disk space
         uses: eclipse-score/more-disk-space@v1
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index df1ea777ecd..ff0d652bbaf 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1134,8 +1134,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.3/MODULE.bazel": "e44eabe3dbf91ab885fc4fc8214a23f671f78110f9be67d6c2eb8d297242030b",
-    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.3/source.json": "7cd2c47d40e5979b3fe34fe527dbd4f52abbaa7b55775f27780d8923ea8dffe7",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.4/MODULE.bazel": "0477dcc5d93a6a86f60e34a962c402c77dabc009b591cfc85ae4f76f10ffc089",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.4/source.json": "09a9b7c65ae2723c25a27f9685ef9d9ea39af6f90323ea236a384e4274637371",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/source.json": "ec461822c632ab0e9f9a620d831cb2b3ded5b9288550289180d891db71b7ec8f",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/MODULE.bazel": "84fe2438bde5db32cbcfca5db1194a56fd753f69e5466cf8e46aada7f209e613",
diff --git a/bazel_common/score_modules_tooling.MODULE.bazel b/bazel_common/score_modules_tooling.MODULE.bazel
index 84eca1165b1..41da143465c 100644
--- a/bazel_common/score_modules_tooling.MODULE.bazel
+++ b/bazel_common/score_modules_tooling.MODULE.bazel
@@ -27,6 +27,12 @@ single_version_override(
     version = "0.6.0",
 )
 
+bazel_dep(name = "score_devcontainer")
+single_version_override(
+    module_name = "score_devcontainer",
+    version = "1.11.4",
+)
+
 bazel_dep(name = "score_tools")
 git_override(
     module_name = "score_tools",
diff --git a/known_good.json b/known_good.json
index f686cbd65ac..d56a4a99f67 100644
--- a/known_good.json
+++ b/known_good.json
@@ -285,6 +285,12 @@
                 "version": "0.6.0",
                 "pin_version": true
             },
+            "score_devcontainer": {
+                "repo": "https://github.com/eclipse-score/devcontainer.git",
+                "version": "1.11.4",
+                "docs": false,
+                "pin_version": true
+            },
             "score_tools": {
                 "repo": "https://github.com/eclipse-score/tools.git",
                 "docs": false,
diff --git a/scripts/module_tests.py b/scripts/module_tests.py
index 10dfc4c765f..07862d5528d 100644
--- a/scripts/module_tests.py
+++ b/scripts/module_tests.py
@@ -18,9 +18,9 @@
 Every module in the module's dependency graph that ref_int also resolves is pinned with
 ``--override_module``, pointing at ref_int's own fetched copy (so ref_int's patches come along);
 ones ref_int cannot fetch are reported as not pinned. ``bazel_common/unified.bazelrc`` and the
-module's ``extra_test_config`` are layered over the module's .bazelrc. The only edit to the module
-is one ``include()`` of ref_int's ``unified_toolchains.MODULE.bazel``, as toolchains can only be
-defined in MODULE files.
+module's ``extra_test_config`` are layered over the module's .bazelrc. The only edits to the module
+are one ``include()`` of ref_int's ``unified_toolchains.MODULE.bazel``, as toolchains can only be
+defined in MODULE files, and a ``bazel_dep`` raising score_devcontainer to its known_good version.
 """
 
 import argparse
@@ -173,6 +173,17 @@ def _append_unified_toolchain(workspace: Path) -> None:
         f.write(f'\ninclude("//:{UNIFIED_TOOLCHAINS.name}")\n')
 
 
+def _apply_extra_dependency_overrides(workspace: Path, devcontainer_version: str) -> None:
+    """Raise dependencies the module's own graph cannot resolve as is.
+
+    The module's own graph is resolved before any ref_int pin applies. score_devcontainer 1.11.1
+    (from score_docs_as_code 8.3.0) had its tag re-pushed, so its archive fails the registry
+    checksum. A bazel_dep lets MVS raise it; an override would error where it is not in the graph.
+    """
+    with (workspace / "MODULE.bazel").open("a") as f:
+        f.write(f'bazel_dep(name = "score_devcontainer", version = "{devcontainer_version}", dev_dependency = True)\n')
+
+
 def _collect_coverage(workspace: Path, out: Path, env: dict) -> None:
     (out / "coverage").mkdir()
     lcov = Path(bazel(["info", "output_path"], workspace, env).stdout.strip()) / "_coverage" / "_coverage_report.dat"
@@ -230,6 +241,7 @@ def run(args: argparse.Namespace) -> int:
     workspace, out = _setup_working_dir(work, module.name)
     _copy_fetch_module(module.name, workspace)
     _append_unified_toolchain(workspace)
+    _apply_extra_dependency_overrides(workspace, known.modules["tooling"]["score_devcontainer"].version)
 
     # Every bazel call in the module goes through this wrapper, so they all see the overrides and
     # the unified config. Its own output base keeps

From 5b2de8a34800db729b5956f4c4a9d1fe51a01ea3 Mon Sep 17 00:00:00 2001
From: Piotr Korkus 
Date: Mon, 2 Nov 2026 14:26:32 +0100
Subject: [PATCH 56/80] fix: override already declared module (#439)

---
 scripts/module_tests.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/scripts/module_tests.py b/scripts/module_tests.py
index 07862d5528d..48b5f7b7535 100644
--- a/scripts/module_tests.py
+++ b/scripts/module_tests.py
@@ -178,10 +178,17 @@ def _apply_extra_dependency_overrides(workspace: Path, devcontainer_version: str
 
     The module's own graph is resolved before any ref_int pin applies. score_devcontainer 1.11.1
     (from score_docs_as_code 8.3.0) had its tag re-pushed, so its archive fails the registry
-    checksum. A bazel_dep lets MVS raise it; an override would error where it is not in the graph.
+    checksum. A module that depends on it itself gets a single_version_override (a second bazel_dep
+    is an error); otherwise a bazel_dep lets MVS raise it, as an override errors when the module is
+    not in the graph.
     """
-    with (workspace / "MODULE.bazel").open("a") as f:
-        f.write(f'bazel_dep(name = "score_devcontainer", version = "{devcontainer_version}", dev_dependency = True)\n')
+    module_file = workspace / "MODULE.bazel"
+    if re.search(r'bazel_dep\(\s*name\s*=\s*"score_devcontainer"', module_file.read_text()):
+        line = f'single_version_override(module_name = "score_devcontainer", version = "{devcontainer_version}")\n'
+    else:
+        line = f'bazel_dep(name = "score_devcontainer", version = "{devcontainer_version}", dev_dependency = True)\n'
+    with module_file.open("a") as f:
+        f.write(line)
 
 
 def _collect_coverage(workspace: Path, out: Path, env: dict) -> None:

From 9ce7e294981f385d29e3ba70e657890173800c66 Mon Sep 17 00:00:00 2001
From: Piotr Korkus 
Date: Mon, 2 Nov 2026 21:57:14 +0100
Subject: [PATCH 57/80] Update bazel tooling from hashes to versions

---
 MODULE.bazel.lock                             | 48 +++++++++++--------
 .../score_modules_tooling.MODULE.bazel        | 25 ++++------
 known_good.json                               | 10 ++--
 3 files changed, 44 insertions(+), 39 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index ff0d652bbaf..92097f70241 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1130,10 +1130,16 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/3.1.2/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.17/MODULE.bazel": "3e4fd1084103b396c43f7548f485e202aa82e1c42e9e64635aac95dde92d4cc3",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.17/source.json": "7ecf7c675867bac77c7ddc4235a8f89c17f1d62ae1489d6554a51d717fa77040",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_cpp_toolchains/1.0.3/MODULE.bazel": "599f3f1123bc1400ade5bdd0c7c5470531885cf2fa1fa30024f23d5d21e6d58d",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_cpp_toolchains/1.0.3/source.json": "47eab63b3a98244787a9ab611f825d9c62d48bfdb5000173144d2f9e24b521b8",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/MODULE.bazel": "e5c656abcad121a89cbabad3550bb20167a6865de219ef6e1c68ca30567e1c32",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/source.json": "9797d56e9dd68e9d3e8b674402df2d6d5e2174f84184ca4cbee78fc07dc117d9",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/MODULE.bazel": "02d8915b743ef28130352bd3e5fcfb3356122dd437e5a9d187505fcff7de481b",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.11/MODULE.bazel": "ef4590c417955837ce12549c6de26e008cb2957fe481844a45ae5f3d66e21211",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.11/source.json": "6b532c133e072aa45bab711afb5d911afe7e972c10702ed8c45c79b4cdd0dfcd",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.4/MODULE.bazel": "0477dcc5d93a6a86f60e34a962c402c77dabc009b591cfc85ae4f76f10ffc089",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.11.4/source.json": "09a9b7c65ae2723c25a27f9685ef9d9ea39af6f90323ea236a384e4274637371",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/8.6.0/MODULE.bazel": "bbbbbeeefce7e520c7bf45eeef7cd6700fff8a8a4e4a7f3fc527daf1cf4462ec",
@@ -1164,6 +1170,10 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_test_scenarios/0.5.0/source.json": "d18b6ff6600a440be036ad481d1596ec033e302f08ea503c1ffa1bdb37e69859",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/MODULE.bazel": "535296e6cdef55a506c580ca2ce541aa9ddefb354de1a24ab2bd4addc939282b",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/source.json": "8bda773be264da16d2a82a03ebb737421dd4a35855f1e9a5d03d9722d84c1df5",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/3.0.1/MODULE.bazel": "3d37a2257aff6729ce033a91a4db6885b4b2e2322075d8a6d6b2af1a26e78f91",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/3.0.1/source.json": "a513f4cc6f43ce3c8b53486d491f00790184619afc1878799e2c6c9e6d387fb8",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tools/0.0.4/MODULE.bazel": "36cd2ba63acec9de0e0c64d1bfba0eb0c1f3d292c4fd7f3d386e1858bb4a0709",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tools/0.0.4/source.json": "e7dd4b96a5d2afe481cc76e7dd3e24d13bd71b93370508d2ea39e3ce0fa66c22",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.5.0/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.5.1/MODULE.bazel": "not found",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.5.3/MODULE.bazel": "not found",
@@ -2018,7 +2028,7 @@
     "@@rules_distroless+//apt:extensions.bzl%apt": {
       "general": {
         "bzlTransitiveDigest": "JeghnHp8g69GVW+YOpl7vD3YRaZmylDr+E+iuARG86I=",
-        "usagesDigest": "PGGts4dHdQebqbjPFpqdLfQGezTaqPJ0ZOpmBcqbhSs=",
+        "usagesDigest": "Hrg5PJP+0wbCelJ+f8oQyZ9iKJ5YLUyfBZF0VT71cuc=",
         "recordedFileInputs": {
           "@@score_tooling+//third_party/docs_runtime/manifest.yaml": "f8bd762e0dcaf3150504eca8dfd60819fc3be428d3a8b58d1d9cc52d68e16a45",
           "@@score_tooling+//third_party/tooling_sysroot/manifest.yaml": "ef1e4af34dbf67a9e332c69ccad0b12b2e295849c33e98658c6ccd69e363c4cd"
@@ -3754,7 +3764,7 @@
     "@@rules_rust+//crate_universe:extensions.bzl%crate": {
       "general": {
         "bzlTransitiveDigest": "N87iFb1kl75ImHvt/FcUlH3gc053UN44t7+uYjQrdGQ=",
-        "usagesDigest": "BB3FHp5tuT90oH9o9b4+r74nHxe9kk922Z1PVAWWsjQ=",
+        "usagesDigest": "eb+5NRPWFOBU1jrkGisCnmreFNAWm2OW3iJ1GJ/y/Vo=",
         "recordedFileInputs": {
           "@@score_tooling+//Cargo.lock": "073808c4d30ce6d029db2867b48a017d22a9b400c6858f47fea4338583069c46",
           "@@score_tooling+//cargo-bazel-lock.json": "9ebce94df54b2255bdf819763b94a0830a74591d1ed8589348b76a7d2957abe8"
@@ -3777,7 +3787,7 @@
               "contents": {
                 "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"adler32-1.2.0\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"adler32\",\n    actual = \"@crate_index__adler32-1.2.0//:adler32\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow-1.0.104\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"anyhow\",\n    actual = \"@crate_index__anyhow-1.0.104//:anyhow\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh-0.1.19\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"argh\",\n    actual = \"@crate_index__argh-0.1.19//:argh\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec-0.7.8\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"arrayvec\",\n    actual = \"@crate_index__arrayvec-0.7.8//:arrayvec\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream-0.3.6\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"async-stream\",\n    actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes-1.12.1\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"bytes\",\n    actual = \"@crate_index__bytes-1.12.1//:bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc-1.11.0\",\n    actual = \"@crate_index__cc-1.11.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cc\",\n    actual = \"@crate_index__cc-1.11.0//:cc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap-4.6.7\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"clap\",\n    actual = \"@crate_index__clap-4.6.7//:clap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack-0.3.8\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cliclack\",\n    actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console-0.16.6\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"console\",\n    actual = \"@crate_index__console-0.16.6//:console\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc-3.5.2\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctrlc\",\n    actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger-0.11.11\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"env_logger\",\n    actual = \"@crate_index__env_logger-0.11.11//:env_logger\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent-1.0.3\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"equivalent\",\n    actual = \"@crate_index__equivalent-1.0.3//:equivalent\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash-0.2.0\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"foldhash\",\n    actual = \"@crate_index__foldhash-0.2.0//:foldhash\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures-0.3.34\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"futures\",\n    actual = \"@crate_index__futures-0.3.34//:futures\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown-0.17.1\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hashbrown\",\n    actual = \"@crate_index__hashbrown-0.17.1//:hashbrown\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes-0.4.3\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"human_bytes\",\n    actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-0.5.0\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2\",\n    actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-container-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-derive-macros-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-elementary-traits-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-lock-free-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-memory-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-posix-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-system-types-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-testing-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-bb-threadsafe-qnx8\",\n    actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-cal-qnx8\",\n    actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n    actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8-0.7.0\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"iceoryx2-qnx8\",\n    actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap-2.14.2\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indexmap\",\n    actual = \"@crate_index__indexmap-2.14.2//:indexmap\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-0.18.6\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif\",\n    actual = \"@crate_index__indicatif-0.18.6//:indicatif\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge-0.2.3\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"indicatif-log-bridge\",\n    actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel-0.20.2\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ipc-channel\",\n    actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc-0.2.186\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"libc\",\n    actual = \"@crate_index__libc-0.2.186//:libc\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log-0.4.35\",\n    actual = \"@crate_index__log-0.4.35//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"log\",\n    actual = \"@crate_index__log-0.4.35//:log\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom-0.7.2\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"loom\",\n    actual = \"@crate_index__loom-0.7.2//:loom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio-1.2.4\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mio\",\n    actual = \"@crate_index__mio-1.2.4//:mio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall-0.14.0\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mockall\",\n    actual = \"@crate_index__mockall-0.14.0//:mockall\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix-0.30.1\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nix\",\n    actual = \"@crate_index__nix-0.30.1//:nix\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste-1.0.15\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"paste\",\n    actual = \"@crate_index__paste-1.0.15//:paste\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey-0.2.3\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pastey\",\n    actual = \"@crate_index__pastey-0.2.3//:pastey\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args-0.5.0\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"pico-args\",\n    actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard-1.1.3\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"postcard\",\n    actual = \"@crate_index__postcard-1.1.3//:postcard\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2-1.0.107\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proc-macro2\",\n    actual = \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-0.14.4\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost\",\n    actual = \"@crate_index__prost-0.14.4//:prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build-0.14.4\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-build\",\n    actual = \"@crate_index__prost-build-0.14.4//:prost_build\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types-0.14.4\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"prost-types\",\n    actual = \"@crate_index__prost-types-0.14.4//:prost_types\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost-0.4.0\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic-0.4.1\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote-1.0.47\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"quote\",\n    actual = \"@crate_index__quote-1.0.47//:quote\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand-0.9.5\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand\",\n    actual = \"@crate_index__rand-0.9.5//:rand\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion-1.0.23\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rustversion\",\n    actual = \"@crate_index__rustversion-1.0.23//:rustversion\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe-0.2.1\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sem_safe\",\n    actual = \"@crate_index__sem_safe-0.2.1//:sem_safe\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde-1.0.229\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde\",\n    actual = \"@crate_index__serde-1.0.229//:serde\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core-1.0.229\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_core\",\n    actual = \"@crate_index__serde_core-1.0.229//:serde_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json-1.0.154\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"serde_json\",\n    actual = \"@crate_index__serde_json-1.0.154//:serde_json\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook-0.3.18\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"signal-hook\",\n    actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2-0.6.5\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"socket2\",\n    actual = \"@crate_index__socket2-0.6.5//:socket2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn-2.0.119\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"syn\",\n    actual = \"@crate_index__syn-2.0.119//:syn\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile-3.27.0\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tempfile\",\n    actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror-2.0.21\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"thiserror\",\n    actual = \"@crate_index__thiserror-2.0.21//:thiserror\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time-0.3.55\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"time\",\n    actual = \"@crate_index__time-0.3.55//:time\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson-2.5.1\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tinyjson\",\n    actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-1.54.1\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio\",\n    actual = \"@crate_index__tokio-1.54.1//:tokio\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket-0.8.2\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-seqpacket\",\n    actual = \"@crate_index__tokio-seqpacket-0.8.2//:tokio_seqpacket\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util-0.7.20\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tokio-util\",\n    actual = \"@crate_index__tokio-util-0.7.20//:tokio_util\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic-0.14.9\",\n    actual = \"@crate_index__tonic-0.14.9//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tonic\",\n    actual = \"@crate_index__tonic-0.14.9//:tonic\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-0.1.44\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing\",\n    actual = \"@crate_index__tracing-0.1.44//:tracing\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber-0.3.23\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"tracing-subscriber\",\n    actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n    tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n    name = \"protoc-gen-prost__protoc-gen-prost\",\n    actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"protoc-gen-tonic__protoc-gen-tonic\",\n    actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n    tags = [\"manual\"],\n)\n",
                 "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n    # `ctx.attr.actual` is a list of 1 item due to the transition\n    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n    if CcInfo in ctx.attr.actual[0]:\n        providers.append(ctx.attr.actual[0][CcInfo])\n    return providers\n\ndef _change_compilation_mode(compilation_mode):\n    def _change_compilation_mode_impl(_settings, _attr):\n        return {\n            \"//command_line_option:compilation_mode\": compilation_mode,\n        }\n\n    return transition(\n        implementation = _change_compilation_mode_impl,\n        inputs = [],\n        outputs = [\n            \"//command_line_option:compilation_mode\",\n        ],\n    )\n\ndef _transition_alias_rule(compilation_mode):\n    return rule(\n        implementation = _transition_alias_impl,\n        provides = COMMON_PROVIDERS,\n        attrs = {\n            \"actual\": attr.label(\n                mandatory = True,\n                doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n                providers = COMMON_PROVIDERS,\n                cfg = _change_compilation_mode(compilation_mode),\n            ),\n            \"_allowlist_function_transition\": attr.label(\n                default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n            ),\n        },\n        doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n    )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n",
-                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.11.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.3\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.35\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.54.1\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.9\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.11.0\",\n        sha256 = \"375989decec1a0fa424442bed520fa12ede43a48475ce8c7417d2c69b32b5f6b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.11.0/download\"],\n        strip_prefix = \"cc-1.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.2.0\",\n        sha256 = \"e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.2.0/download\"],\n        strip_prefix = \"defmt-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.2.0\",\n        sha256 = \"840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.2.0/download\"],\n        strip_prefix = \"defmt-macros-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.1.0\",\n        sha256 = \"71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.1.0/download\"],\n        strip_prefix = \"defmt-parser-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.9\",\n        sha256 = \"9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.9/download\"],\n        strip_prefix = \"deranged-0.5.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.3\",\n        sha256 = \"00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.3/download\"],\n        strip_prefix = \"equivalent-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.15\",\n        sha256 = \"1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.15/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.11\",\n        sha256 = \"1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.11/download\"],\n        strip_prefix = \"generator-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.4.0\",\n        sha256 = \"fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.4.0/download\"],\n        strip_prefix = \"icu_collections-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.4.0\",\n        sha256 = \"25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.4.0/download\"],\n        strip_prefix = \"icu_locale_core-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.4.0\",\n        sha256 = \"406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.4.0\",\n        sha256 = \"3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.4.0\",\n        sha256 = \"413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.4.0/download\"],\n        strip_prefix = \"icu_provider-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.4.0\",\n        sha256 = \"61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.4.0\",\n        sha256 = \"913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.38\",\n        sha256 = \"b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.38/download\"],\n        strip_prefix = \"jiff-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.1\",\n        sha256 = \"5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.1/download\"],\n        strip_prefix = \"jiff-core-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.38\",\n        sha256 = \"2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.38/download\"],\n        strip_prefix = \"jiff-static-0.2.38\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.38.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.107\",\n        sha256 = \"8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.107/download\"],\n        strip_prefix = \"js-sys-0.3.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.35\",\n        sha256 = \"5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.35/download\"],\n        strip_prefix = \"log-0.4.35\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.35.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.6\",\n        sha256 = \"e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.6/download\"],\n        strip_prefix = \"rustix-1.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.4\",\n        sha256 = \"d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.4/download\"],\n        strip_prefix = \"smallvec-1.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.9\",\n        sha256 = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.9/download\"],\n        strip_prefix = \"syn-3.0.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.5\",\n        sha256 = \"abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.5/download\"],\n        strip_prefix = \"tinystr-0.8.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.54.1\",\n        sha256 = \"b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.54.1/download\"],\n        strip_prefix = \"tokio-1.54.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.54.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.9\",\n        sha256 = \"e2cdfc673aabd30fe8fee92e65837b644c37c5d47f0f97ae6d5e0f1237d15e1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.9/download\"],\n        strip_prefix = \"tonic-0.14.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.3\",\n        sha256 = \"ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.3/download\"],\n        strip_prefix = \"unicode-width-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.1.0\",\n        sha256 = \"af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.1.0/download\"],\n        strip_prefix = \"utf8_iter-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf_types-1.0.0\",\n        sha256 = \"3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf_types/1.0.0/download\"],\n        strip_prefix = \"utf_types-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf_types-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.29.0\",\n        sha256 = \"4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.29.0/download\"],\n        strip_prefix = \"uuid-1.29.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.29.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.130\",\n        sha256 = \"a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.130\",\n        sha256 = \"6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.130\",\n        sha256 = \"2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.130\",\n        sha256 = \"3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.4\",\n        sha256 = \"417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.4/download\"],\n        strip_prefix = \"yoke-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.63\",\n        sha256 = \"e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.63/download\"],\n        strip_prefix = \"zerocopy-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.63\",\n        sha256 = \"863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.63/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.9\",\n        sha256 = \"f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.9/download\"],\n        strip_prefix = \"zerovec-0.11.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.7\",\n        sha256 = \"c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.7/download\"],\n        strip_prefix = \"zerovec-derive-0.11.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.11.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.35\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.54.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.9\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
+                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list.\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n            \"anyhow\": Label(\"@crate_index//:anyhow-1.0.104\"),\n            \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n            \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.8\"),\n            \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n            \"bytes\": Label(\"@crate_index//:bytes-1.12.1\"),\n            \"cc\": Label(\"@crate_index//:cc-1.11.0\"),\n            \"clap\": Label(\"@crate_index//:clap-4.6.7\"),\n            \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n            \"console\": Label(\"@crate_index//:console-0.16.6\"),\n            \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n            \"env_logger\": Label(\"@crate_index//:env_logger-0.11.11\"),\n            \"equivalent\": Label(\"@crate_index//:equivalent-1.0.3\"),\n            \"foldhash\": Label(\"@crate_index//:foldhash-0.2.0\"),\n            \"futures\": Label(\"@crate_index//:futures-0.3.34\"),\n            \"hashbrown\": Label(\"@crate_index//:hashbrown-0.17.1\"),\n            \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n            \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n            \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n            \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n            \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n            \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n            \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n            \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n            \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n            \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n            \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n            \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n            \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n            \"indexmap\": Label(\"@crate_index//:indexmap-2.14.2\"),\n            \"indicatif\": Label(\"@crate_index//:indicatif-0.18.6\"),\n            \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n            \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n            \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n            \"log\": Label(\"@crate_index//:log-0.4.35\"),\n            \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n            \"mio\": Label(\"@crate_index//:mio-1.2.4\"),\n            \"mockall\": Label(\"@crate_index//:mockall-0.14.0\"),\n            \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n            \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n            \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n            \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.107\"),\n            \"prost\": Label(\"@crate_index//:prost-0.14.4\"),\n            \"prost-build\": Label(\"@crate_index//:prost-build-0.14.4\"),\n            \"prost-types\": Label(\"@crate_index//:prost-types-0.14.4\"),\n            \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n            \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n            \"quote\": Label(\"@crate_index//:quote-1.0.47\"),\n            \"rand\": Label(\"@crate_index//:rand-0.9.5\"),\n            \"sem_safe\": Label(\"@crate_index//:sem_safe-0.2.1\"),\n            \"serde\": Label(\"@crate_index//:serde-1.0.229\"),\n            \"serde_core\": Label(\"@crate_index//:serde_core-1.0.229\"),\n            \"serde_json\": Label(\"@crate_index//:serde_json-1.0.154\"),\n            \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n            \"socket2\": Label(\"@crate_index//:socket2-0.6.5\"),\n            \"syn\": Label(\"@crate_index//:syn-2.0.119\"),\n            \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n            \"thiserror\": Label(\"@crate_index//:thiserror-2.0.21\"),\n            \"time\": Label(\"@crate_index//:time-0.3.55\"),\n            \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n            \"tokio\": Label(\"@crate_index//:tokio-1.54.1\"),\n            \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.2\"),\n            \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.20\"),\n            \"tonic\": Label(\"@crate_index//:tonic-0.14.9\"),\n            \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n            \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n        _COMMON_CONDITION: {\n            \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n            \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n            \"pastey\": Label(\"@crate_index//:pastey-0.2.3\"),\n            \"rustversion\": Label(\"@crate_index//:rustversion-1.0.23\"),\n        },\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-pc-windows-gnullvm\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n    \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n    \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n    \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n    \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n    \"cfg(any())\": [],\n    \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n    \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n    \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n    \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n    \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"cfg(target_os = \\\"hermit\\\")\": [],\n    \"cfg(target_os = \\\"macos\\\")\": [],\n    \"cfg(target_os = \\\"netbsd\\\")\": [],\n    \"cfg(target_os = \\\"solaris\\\")\": [],\n    \"cfg(target_os = \\\"vxworks\\\")\": [],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(target_os = \\\"windows\\\")\": [],\n    \"cfg(target_vendor = \\\"apple\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(windows)\": [],\n    \"i686-pc-windows-gnu\": [],\n    \"i686-pc-windows-gnullvm\": [],\n    \"riscv32i-unknown-none-elf\": [],\n    \"riscv32imc-unknown-none-elf\": [],\n    \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n    \"x86_64-pc-windows-gnu\": [],\n    \"x86_64-pc-windows-gnullvm\": [],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n    \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"crate_index__adler32-1.2.0\",\n        sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n        strip_prefix = \"adler32-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aho-corasick-1.1.5\",\n        sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n        strip_prefix = \"aho-corasick-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__aliasable-0.1.3\",\n        sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n        strip_prefix = \"aliasable-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__allocator-api2-0.2.21\",\n        sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n        strip_prefix = \"allocator-api2-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.allocator-api2-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstream-1.0.0\",\n        sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n        strip_prefix = \"anstream-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-1.0.14\",\n        sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n        strip_prefix = \"anstyle-1.0.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-parse-1.0.0\",\n        sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n        strip_prefix = \"anstyle-parse-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-query-1.1.5\",\n        sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n        strip_prefix = \"anstyle-query-1.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anstyle-wincon-3.0.11\",\n        sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n        strip_prefix = \"anstyle-wincon-3.0.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__anyhow-1.0.104\",\n        sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n        strip_prefix = \"anyhow-1.0.104\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.104.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh-0.1.19\",\n        sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n        strip_prefix = \"argh-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_derive-0.1.19\",\n        sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n        strip_prefix = \"argh_derive-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__argh_shared-0.1.19\",\n        sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n        strip_prefix = \"argh_shared-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__arrayvec-0.7.8\",\n        sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n        strip_prefix = \"arrayvec-0.7.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-0.3.6\",\n        sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n        strip_prefix = \"async-stream-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-stream-impl-0.3.6\",\n        sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n        strip_prefix = \"async-stream-impl-0.3.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__async-trait-0.1.92\",\n        sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n        strip_prefix = \"async-trait-0.1.92\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.92.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-polyfill-1.0.3\",\n        sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n        strip_prefix = \"atomic-polyfill-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__atomic-waker-1.1.2\",\n        sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n        strip_prefix = \"atomic-waker-1.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-0.8.9\",\n        sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n        strip_prefix = \"axum-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__axum-core-0.5.6\",\n        sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n        strip_prefix = \"axum-core-0.5.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__base64-0.22.1\",\n        sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n        strip_prefix = \"base64-0.22.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bincode-1.3.3\",\n        sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n        strip_prefix = \"bincode-1.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.69.5\",\n        sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n        strip_prefix = \"bindgen-0.69.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bindgen-0.72.1\",\n        sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n        strip_prefix = \"bindgen-0.72.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-1.3.2\",\n        sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n        strip_prefix = \"bitflags-1.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bitflags-2.13.2\",\n        sha256 = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.13.2/download\"],\n        strip_prefix = \"bitflags-2.13.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__block2-0.6.2\",\n        sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n        strip_prefix = \"block2-0.6.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bumpalo-3.20.3\",\n        sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n        strip_prefix = \"bumpalo-3.20.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__bytes-1.12.1\",\n        sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n        strip_prefix = \"bytes-1.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cc-1.11.0\",\n        sha256 = \"375989decec1a0fa424442bed520fa12ede43a48475ce8c7417d2c69b32b5f6b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cc/1.11.0/download\"],\n        strip_prefix = \"cc-1.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cdr-0.2.4\",\n        sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n        strip_prefix = \"cdr-0.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cexpr-0.6.0\",\n        sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n        strip_prefix = \"cexpr-0.6.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg-if-1.0.5\",\n        sha256 = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.5/download\"],\n        strip_prefix = \"cfg-if-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cfg_aliases-0.2.2\",\n        sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n        strip_prefix = \"cfg_aliases-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clang-sys-1.9.1\",\n        sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n        strip_prefix = \"clang-sys-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap-4.6.7\",\n        sha256 = \"aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap/4.6.7/download\"],\n        strip_prefix = \"clap-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_builder-4.6.7\",\n        sha256 = \"ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_builder/4.6.7/download\"],\n        strip_prefix = \"clap_builder-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_derive-4.6.7\",\n        sha256 = \"f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_derive/4.6.7/download\"],\n        strip_prefix = \"clap_derive-4.6.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__clap_lex-1.1.1\",\n        sha256 = \"1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/clap_lex/1.1.1/download\"],\n        strip_prefix = \"clap_lex-1.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cliclack-0.3.8\",\n        sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n        strip_prefix = \"cliclack-0.3.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__cobs-0.3.0\",\n        sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n        strip_prefix = \"cobs-0.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__colorchoice-1.0.5\",\n        sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n        strip_prefix = \"colorchoice-1.0.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.15.11\",\n        sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n        strip_prefix = \"console-0.15.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__console-0.16.6\",\n        sha256 = \"e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/console/0.16.6/download\"],\n        strip_prefix = \"console-0.16.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-channel-0.5.17\",\n        sha256 = \"98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.17/download\"],\n        strip_prefix = \"crossbeam-channel-0.5.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__crossbeam-utils-0.8.23\",\n        sha256 = \"a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.23/download\"],\n        strip_prefix = \"crossbeam-utils-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ctrlc-3.5.2\",\n        sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n        strip_prefix = \"ctrlc-3.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-1.2.0\",\n        sha256 = \"e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt/1.2.0/download\"],\n        strip_prefix = \"defmt-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-macros-1.2.0\",\n        sha256 = \"840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-macros/1.2.0/download\"],\n        strip_prefix = \"defmt-macros-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-macros-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__defmt-parser-1.1.0\",\n        sha256 = \"71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/defmt-parser/1.1.0/download\"],\n        strip_prefix = \"defmt-parser-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.defmt-parser-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__deranged-0.5.9\",\n        sha256 = \"9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/deranged/0.5.9/download\"],\n        strip_prefix = \"deranged-0.5.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__dispatch2-0.3.1\",\n        sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n        strip_prefix = \"dispatch2-0.3.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__displaydoc-0.2.7\",\n        sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n        strip_prefix = \"displaydoc-0.2.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.displaydoc-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__downcast-0.11.0\",\n        sha256 = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/downcast/0.11.0/download\"],\n        strip_prefix = \"downcast-0.11.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.downcast-0.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__either-1.19.0\",\n        sha256 = \"0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/either/1.19.0/download\"],\n        strip_prefix = \"either-1.19.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.either-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.4.0\",\n        sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n        strip_prefix = \"embedded-io-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__encode_unicode-1.0.0\",\n        sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n        strip_prefix = \"encode_unicode-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-2.3.0\",\n        sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n        strip_prefix = \"enum-iterator-2.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__enum-iterator-derive-1.5.0\",\n        sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n        strip_prefix = \"enum-iterator-derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_filter-2.0.0\",\n        sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n        strip_prefix = \"env_filter-2.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-2.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__env_logger-0.11.11\",\n        sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n        strip_prefix = \"env_logger-0.11.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__equivalent-1.0.3\",\n        sha256 = \"00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/equivalent/1.0.3/download\"],\n        strip_prefix = \"equivalent-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__errno-0.3.14\",\n        sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n        strip_prefix = \"errno-0.3.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fastrand-2.5.0\",\n        sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n        strip_prefix = \"fastrand-2.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__filedesc-0.6.3\",\n        sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n        strip_prefix = \"filedesc-0.6.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__find-msvc-tools-0.1.15\",\n        sha256 = \"1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.15/download\"],\n        strip_prefix = \"find-msvc-tools-0.1.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fixedbitset-0.5.7\",\n        sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n        strip_prefix = \"fixedbitset-0.5.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fnv-1.0.7\",\n        sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n        strip_prefix = \"fnv-1.0.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.1.5\",\n        sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n        strip_prefix = \"foldhash-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__foldhash-0.2.0\",\n        sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n        strip_prefix = \"foldhash-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__fragile-2.1.0\",\n        sha256 = \"8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fragile/2.1.0/download\"],\n        strip_prefix = \"fragile-2.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.fragile-2.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-0.3.34\",\n        sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n        strip_prefix = \"futures-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-channel-0.3.34\",\n        sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n        strip_prefix = \"futures-channel-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-core-0.3.34\",\n        sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n        strip_prefix = \"futures-core-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-executor-0.3.34\",\n        sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n        strip_prefix = \"futures-executor-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-io-0.3.34\",\n        sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n        strip_prefix = \"futures-io-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-macro-0.3.34\",\n        sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n        strip_prefix = \"futures-macro-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-sink-0.3.34\",\n        sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n        strip_prefix = \"futures-sink-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-task-0.3.34\",\n        sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n        strip_prefix = \"futures-task-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__futures-util-0.3.34\",\n        sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n        strip_prefix = \"futures-util-0.3.34\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.34.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__generator-0.8.11\",\n        sha256 = \"1be81b31c9ce4caf7f3178eeb90662bb1864d3ad363ec6bdada3201adff19c37\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generator/0.8.11/download\"],\n        strip_prefix = \"generator-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.3.4\",\n        sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n        strip_prefix = \"getrandom-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__getrandom-0.4.3\",\n        sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n        strip_prefix = \"getrandom-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__glob-0.3.4\",\n        sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n        strip_prefix = \"glob-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__h2-0.4.20\",\n        sha256 = \"7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/h2/0.4.20/download\"],\n        strip_prefix = \"h2-0.4.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hash32-0.2.1\",\n        sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n        strip_prefix = \"hash32-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.15.5\",\n        sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n        strip_prefix = \"hashbrown-0.15.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hashbrown-0.17.1\",\n        sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n        strip_prefix = \"hashbrown-0.17.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heapless-0.7.17\",\n        sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n        strip_prefix = \"heapless-0.7.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.4.1\",\n        sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n        strip_prefix = \"heck-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__heck-0.5.0\",\n        sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n        strip_prefix = \"heck-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__home-0.5.12\",\n        sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n        strip_prefix = \"home-0.5.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-1.5.0\",\n        sha256 = \"918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http/1.5.0/download\"],\n        strip_prefix = \"http-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-1.1.0\",\n        sha256 = \"ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body/1.1.0/download\"],\n        strip_prefix = \"http-body-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__http-body-util-0.1.5\",\n        sha256 = \"23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/http-body-util/0.1.5/download\"],\n        strip_prefix = \"http-body-util-0.1.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httparse-1.10.1\",\n        sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n        strip_prefix = \"httparse-1.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__httpdate-1.0.3\",\n        sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n        strip_prefix = \"httpdate-1.0.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__human_bytes-0.4.3\",\n        sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n        strip_prefix = \"human_bytes-0.4.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-1.12.0\",\n        sha256 = \"2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper/1.12.0/download\"],\n        strip_prefix = \"hyper-1.12.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.12.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-timeout-0.5.2\",\n        sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n        strip_prefix = \"hyper-timeout-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__hyper-util-0.1.21\",\n        sha256 = \"ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hyper-util/0.1.21/download\"],\n        strip_prefix = \"hyper-util-0.1.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-0.5.0\",\n        sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n        sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/container\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n        sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/derive-macros\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n        sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/elementary-traits\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/linux\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n        sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/lock-free\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n        sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/log\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n        sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/memory\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n        sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/posix\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n        sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/system-types\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-bb/threadsafe\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-cal-0.5.0\",\n        sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-cal-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-cal\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n        sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n        sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/configuration\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/os-api\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n        sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n        strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        patches = [\n            \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n        ],\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/posix\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2-pal/testing\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n        commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n        init_submodules = True,\n        remote = \"https://github.com/qorix-group/iceoryx2.git\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n        strip_prefix = \"iceoryx2\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_collections-2.4.0\",\n        sha256 = \"fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_collections/2.4.0/download\"],\n        strip_prefix = \"icu_collections-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_collections-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_core-2.4.0\",\n        sha256 = \"25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_core/2.4.0/download\"],\n        strip_prefix = \"icu_locale_core-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_core-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback-2.4.0\",\n        sha256 = \"406e9ae5b95d8aa37db6293405931b766a6172d1848daee22d70eb44aa78a43c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_locale_fallback_data-2.4.0\",\n        sha256 = \"3632ebbd0c5c3637ba1a40bdf8288f2cb9d2268e73441a69d5fc73d7cfbaa87c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.4.0/download\"],\n        strip_prefix = \"icu_locale_fallback_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_locale_fallback_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_provider-2.4.0\",\n        sha256 = \"413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_provider/2.4.0/download\"],\n        strip_prefix = \"icu_provider-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_provider-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter-2.4.0\",\n        sha256 = \"61b195dc605f81aa181bec9b3bd14e26cc71b903e4644f6af578ca9772c7a710\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__icu_segmenter_data-2.4.0\",\n        sha256 = \"913a7d294ad056474749152107309fdee3ec17d2482d1ab70fdc61a81c64b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/icu_segmenter_data/2.4.0/download\"],\n        strip_prefix = \"icu_segmenter_data-2.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.icu_segmenter_data-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indexmap-2.14.2\",\n        sha256 = \"cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indexmap/2.14.2/download\"],\n        strip_prefix = \"indexmap-2.14.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-0.18.6\",\n        sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n        strip_prefix = \"indicatif-0.18.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__indicatif-log-bridge-0.2.3\",\n        sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n        strip_prefix = \"indicatif-log-bridge-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ipc-channel-0.20.2\",\n        sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n        strip_prefix = \"ipc-channel-0.20.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__is_terminal_polyfill-1.70.2\",\n        sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n        strip_prefix = \"is_terminal_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.12.1\",\n        sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n        strip_prefix = \"itertools-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.13.0\",\n        sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n        strip_prefix = \"itertools-0.13.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itertools-0.14.0\",\n        sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n        strip_prefix = \"itertools-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__itoa-1.0.18\",\n        sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n        strip_prefix = \"itoa-1.0.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-0.2.39\",\n        sha256 = \"3ac703058abac89e5c39b0b879dce2b6b14a4ba36600c7e7e3d0c60a6883ef3c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff/0.2.39/download\"],\n        strip_prefix = \"jiff-0.2.39\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.39.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-core-0.1.2\",\n        sha256 = \"aee43309eb53bafb8c36d35d6e444769c8f8e6206a9fbf7546f5db9d7d4a0e93\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-core/0.1.2/download\"],\n        strip_prefix = \"jiff-core-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-core-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__jiff-static-0.2.39\",\n        sha256 = \"6dc32470c67eb7d0e9ccb74303fa925313dc04cecb1aa048beaa6f391e36a93d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/jiff-static/0.2.39/download\"],\n        strip_prefix = \"jiff-static-0.2.39\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.39.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__js-sys-0.3.107\",\n        sha256 = \"8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/js-sys/0.3.107/download\"],\n        strip_prefix = \"js-sys-0.3.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazy_static-1.5.1\",\n        sha256 = \"20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazy_static/1.5.1/download\"],\n        strip_prefix = \"lazy_static-1.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lazycell-1.3.0\",\n        sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n        strip_prefix = \"lazycell-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libc-0.2.186\",\n        sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n        strip_prefix = \"libc-0.2.186\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__libloading-0.8.9\",\n        sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n        strip_prefix = \"libloading-0.8.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.12.1\",\n        sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n        strip_prefix = \"linux-raw-sys-0.12.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__linux-raw-sys-0.4.15\",\n        sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n        strip_prefix = \"linux-raw-sys-0.4.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__litemap-0.8.3\",\n        sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n        strip_prefix = \"litemap-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.litemap-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__lock_api-0.4.14\",\n        sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n        strip_prefix = \"lock_api-0.4.14\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__log-0.4.35\",\n        sha256 = \"5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.35/download\"],\n        strip_prefix = \"log-0.4.35\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.35.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__loom-0.7.2\",\n        sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n        strip_prefix = \"loom-0.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchers-0.2.0\",\n        sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n        strip_prefix = \"matchers-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__matchit-0.8.4\",\n        sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n        strip_prefix = \"matchit-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__memchr-2.8.3\",\n        sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n        strip_prefix = \"memchr-2.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mime-0.3.17\",\n        sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n        strip_prefix = \"mime-0.3.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__minimal-lexical-0.2.1\",\n        sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n        strip_prefix = \"minimal-lexical-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mio-1.2.4\",\n        sha256 = \"1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mio/1.2.4/download\"],\n        strip_prefix = \"mio-1.2.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall-0.14.0\",\n        sha256 = \"f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall/0.14.0/download\"],\n        strip_prefix = \"mockall-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__mockall_derive-0.14.0\",\n        sha256 = \"ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/mockall_derive/0.14.0/download\"],\n        strip_prefix = \"mockall_derive-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.mockall_derive-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__multimap-0.10.1\",\n        sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n        strip_prefix = \"multimap-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.30.1\",\n        sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n        strip_prefix = \"nix-0.30.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nix-0.31.3\",\n        sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n        strip_prefix = \"nix-0.31.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nom-7.1.3\",\n        sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n        strip_prefix = \"nom-7.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__nu-ansi-term-0.50.3\",\n        sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n        strip_prefix = \"nu-ansi-term-0.50.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__num-conv-0.2.2\",\n        sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n        strip_prefix = \"num-conv-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-0.6.5\",\n        sha256 = \"08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2/0.6.5/download\"],\n        strip_prefix = \"objc2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__objc2-encode-4.1.0\",\n        sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n        strip_prefix = \"objc2-encode-4.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell-1.21.4\",\n        sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n        strip_prefix = \"once_cell-1.21.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__once_cell_polyfill-1.70.2\",\n        sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n        strip_prefix = \"once_cell_polyfill-1.70.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros-0.18.5\",\n        sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n        strip_prefix = \"ouroboros-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ouroboros_macro-0.18.5\",\n        sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n        strip_prefix = \"ouroboros_macro-0.18.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pastey-0.2.3\",\n        sha256 = \"2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pastey/0.2.3/download\"],\n        strip_prefix = \"pastey-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pastey-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__percent-encoding-2.3.2\",\n        sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n        strip_prefix = \"percent-encoding-2.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.7.1\",\n        sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n        strip_prefix = \"petgraph-0.7.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__petgraph-0.8.3\",\n        sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n        strip_prefix = \"petgraph-0.8.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pico-args-0.5.0\",\n        sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n        strip_prefix = \"pico-args-0.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-1.1.13\",\n        sha256 = \"2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project/1.1.13/download\"],\n        strip_prefix = \"pin-project-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-internal-1.1.13\",\n        sha256 = \"c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.13/download\"],\n        strip_prefix = \"pin-project-internal-1.1.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__pin-project-lite-0.2.17\",\n        sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n        strip_prefix = \"pin-project-lite-0.2.17\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-1.15.0\",\n        sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n        strip_prefix = \"portable-atomic-1.15.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.15.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__portable-atomic-util-0.2.8\",\n        sha256 = \"10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.8/download\"],\n        strip_prefix = \"portable-atomic-util-0.2.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-1.1.3\",\n        sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n        strip_prefix = \"postcard-1.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__postcard-derive-0.2.2\",\n        sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n        strip_prefix = \"postcard-derive-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__potential_utf-0.1.6\",\n        sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n        strip_prefix = \"potential_utf-0.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.potential_utf-0.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__powerfmt-0.2.1\",\n        sha256 = \"4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/powerfmt/0.2.1/download\"],\n        strip_prefix = \"powerfmt-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-3.1.4\",\n        sha256 = \"ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates/3.1.4/download\"],\n        strip_prefix = \"predicates-3.1.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-3.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-core-1.0.10\",\n        sha256 = \"cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-core/1.0.10/download\"],\n        strip_prefix = \"predicates-core-1.0.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-core-1.0.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__predicates-tree-1.0.13\",\n        sha256 = \"d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/predicates-tree/1.0.13/download\"],\n        strip_prefix = \"predicates-tree-1.0.13\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.predicates-tree-1.0.13.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prettyplease-0.2.37\",\n        sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n        strip_prefix = \"prettyplease-0.2.37\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-1.0.107\",\n        sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n        strip_prefix = \"proc-macro2-1.0.107\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.107.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n        sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n        strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.13.5\",\n        sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n        strip_prefix = \"prost-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-0.14.4\",\n        sha256 = \"528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost/0.14.4/download\"],\n        strip_prefix = \"prost-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.13.5\",\n        sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n        strip_prefix = \"prost-build-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-build-0.14.4\",\n        sha256 = \"03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-build/0.14.4/download\"],\n        strip_prefix = \"prost-build-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.13.5\",\n        sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n        strip_prefix = \"prost-derive-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-derive-0.14.4\",\n        sha256 = \"b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-derive/0.14.4/download\"],\n        strip_prefix = \"prost-derive-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.13.5\",\n        sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n        strip_prefix = \"prost-types-0.13.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__prost-types-0.14.4\",\n        sha256 = \"f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/prost-types/0.14.4/download\"],\n        strip_prefix = \"prost-types-0.14.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-prost-0.4.0\",\n        sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n        strip_prefix = \"protoc-gen-prost-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__protoc-gen-tonic-0.4.1\",\n        sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n        strip_prefix = \"protoc-gen-tonic-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__quote-1.0.47\",\n        sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n        strip_prefix = \"quote-1.0.47\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-5.3.0\",\n        sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n        strip_prefix = \"r-efi-5.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__r-efi-6.0.0\",\n        sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n        strip_prefix = \"r-efi-6.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand-0.9.5\",\n        sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n        strip_prefix = \"rand-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_chacha-0.9.0\",\n        sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n        strip_prefix = \"rand_chacha-0.9.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-1.13.1\",\n        sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n        strip_prefix = \"regex-1.13.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-automata-0.4.18\",\n        sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n        strip_prefix = \"regex-automata-0.4.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__regex-syntax-0.8.11\",\n        sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n        strip_prefix = \"regex-syntax-0.8.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-1.1.0\",\n        sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n        strip_prefix = \"rustc-hash-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc-hash-2.1.3\",\n        sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n        strip_prefix = \"rustc-hash-2.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustc_version-0.4.1\",\n        sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n        strip_prefix = \"rustc_version-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-0.38.44\",\n        sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n        strip_prefix = \"rustix-0.38.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustix-1.1.6\",\n        sha256 = \"e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustix/1.1.6/download\"],\n        strip_prefix = \"rustix-1.1.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__rustversion-1.0.23\",\n        sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n        strip_prefix = \"rustversion-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scoped-tls-1.0.1\",\n        sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n        strip_prefix = \"scoped-tls-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__scopeguard-1.2.0\",\n        sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n        strip_prefix = \"scopeguard-1.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sem_safe-0.2.1\",\n        sha256 = \"be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sem_safe/0.2.1/download\"],\n        strip_prefix = \"sem_safe-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sem_safe-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__semver-1.0.28\",\n        sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n        strip_prefix = \"semver-1.0.28\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde-1.0.229\",\n        sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n        strip_prefix = \"serde-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_core-1.0.229\",\n        sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n        strip_prefix = \"serde_core-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_derive-1.0.229\",\n        sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n        strip_prefix = \"serde_derive-1.0.229\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.229.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_json-1.0.154\",\n        sha256 = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_json/1.0.154/download\"],\n        strip_prefix = \"serde_json-1.0.154\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.154.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__serde_spanned-0.6.9\",\n        sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n        strip_prefix = \"serde_spanned-0.6.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sha1_smol-1.0.1\",\n        sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n        strip_prefix = \"sha1_smol-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sharded-slab-0.1.7\",\n        sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n        strip_prefix = \"sharded-slab-0.1.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-1.3.0\",\n        sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n        strip_prefix = \"shlex-1.3.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__shlex-2.0.1\",\n        sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n        strip_prefix = \"shlex-2.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.shlex-2.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-0.3.18\",\n        sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n        strip_prefix = \"signal-hook-0.3.18\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__signal-hook-registry-1.4.8\",\n        sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n        strip_prefix = \"signal-hook-registry-1.4.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__slab-0.4.12\",\n        sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n        strip_prefix = \"slab-0.4.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smallvec-1.16.4\",\n        sha256 = \"d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smallvec/1.16.4/download\"],\n        strip_prefix = \"smallvec-1.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__smawk-0.3.3\",\n        sha256 = \"e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smawk/0.3.3/download\"],\n        strip_prefix = \"smawk-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__socket2-0.6.5\",\n        sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n        strip_prefix = \"socket2-0.6.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__spin-0.9.9\",\n        sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n        strip_prefix = \"spin-0.9.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__static_assertions-1.1.0\",\n        sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n        strip_prefix = \"static_assertions-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__strsim-0.11.1\",\n        sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n        strip_prefix = \"strsim-0.11.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-2.0.119\",\n        sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n        strip_prefix = \"syn-2.0.119\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.119.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__syn-3.0.9\",\n        sha256 = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/3.0.9/download\"],\n        strip_prefix = \"syn-3.0.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.syn-3.0.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__sync_wrapper-1.0.2\",\n        sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n        strip_prefix = \"sync_wrapper-1.0.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__synstructure-0.14.0\",\n        sha256 = \"901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/synstructure/0.14.0/download\"],\n        strip_prefix = \"synstructure-0.14.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.synstructure-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tempfile-3.27.0\",\n        sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n        strip_prefix = \"tempfile-3.27.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termsize-0.1.9\",\n        sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n        strip_prefix = \"termsize-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__termtree-0.5.1\",\n        sha256 = \"8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/termtree/0.5.1/download\"],\n        strip_prefix = \"termtree-0.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.termtree-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__textwrap-0.16.4\",\n        sha256 = \"6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/textwrap/0.16.4/download\"],\n        strip_prefix = \"textwrap-0.16.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-2.0.21\",\n        sha256 = \"09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror/2.0.21/download\"],\n        strip_prefix = \"thiserror-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thiserror-impl-2.0.21\",\n        sha256 = \"fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.21/download\"],\n        strip_prefix = \"thiserror-impl-2.0.21\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__thread_local-1.1.10\",\n        sha256 = \"1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/thread_local/1.1.10/download\"],\n        strip_prefix = \"thread_local-1.1.10\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-0.3.55\",\n        sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n        strip_prefix = \"time-0.3.55\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.55.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-core-0.1.9\",\n        sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n        strip_prefix = \"time-core-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__time-macros-0.2.32\",\n        sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n        strip_prefix = \"time-macros-0.2.32\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.32.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tiny-fn-0.1.9\",\n        sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n        strip_prefix = \"tiny-fn-0.1.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinyjson-2.5.1\",\n        sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n        strip_prefix = \"tinyjson-2.5.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tinystr-0.8.5\",\n        sha256 = \"abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tinystr/0.8.5/download\"],\n        strip_prefix = \"tinystr-0.8.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tinystr-0.8.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-1.54.1\",\n        sha256 = \"b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio/1.54.1/download\"],\n        strip_prefix = \"tokio-1.54.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.54.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-macros-2.7.2\",\n        sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n        strip_prefix = \"tokio-macros-2.7.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-seqpacket-0.8.2\",\n        sha256 = \"24d1294c36e418ee280e57ba514cc260c0c80c69571abf44109eef2823a1c1c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.2/download\"],\n        strip_prefix = \"tokio-seqpacket-0.8.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-stream-0.1.19\",\n        sha256 = \"a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-stream/0.1.19/download\"],\n        strip_prefix = \"tokio-stream-0.1.19\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.19.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tokio-util-0.7.20\",\n        sha256 = \"e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tokio-util/0.7.20/download\"],\n        strip_prefix = \"tokio-util-0.7.20\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.20.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml-0.8.23\",\n        sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n        strip_prefix = \"toml-0.8.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_datetime-0.6.11\",\n        sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n        strip_prefix = \"toml_datetime-0.6.11\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_edit-0.22.27\",\n        sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n        strip_prefix = \"toml_edit-0.22.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__toml_write-0.1.2\",\n        sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n        strip_prefix = \"toml_write-0.1.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-0.14.9\",\n        sha256 = \"e2cdfc673aabd30fe8fee92e65837b644c37c5d47f0f97ae6d5e0f1237d15e1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic/0.14.9/download\"],\n        strip_prefix = \"tonic-0.14.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tonic-build-0.12.3\",\n        sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n        strip_prefix = \"tonic-build-0.12.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-0.5.3\",\n        sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n        strip_prefix = \"tower-0.5.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-layer-0.3.3\",\n        sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n        strip_prefix = \"tower-layer-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tower-service-0.3.3\",\n        sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n        strip_prefix = \"tower-service-0.3.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-0.1.44\",\n        sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n        strip_prefix = \"tracing-0.1.44\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-attributes-0.1.31\",\n        sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n        strip_prefix = \"tracing-attributes-0.1.31\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-core-0.1.36\",\n        sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n        strip_prefix = \"tracing-core-0.1.36\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-log-0.2.0\",\n        sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n        strip_prefix = \"tracing-log-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-serde-0.2.0\",\n        sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n        strip_prefix = \"tracing-serde-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__tracing-subscriber-0.3.23\",\n        sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n        strip_prefix = \"tracing-subscriber-0.3.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__try-lock-0.2.5\",\n        sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n        strip_prefix = \"try-lock-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-ident-1.0.27\",\n        sha256 = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.27/download\"],\n        strip_prefix = \"unicode-ident-1.0.27\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.27.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unicode-width-0.2.3\",\n        sha256 = \"ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-width/0.2.3/download\"],\n        strip_prefix = \"unicode-width-0.2.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__unit-prefix-0.5.2\",\n        sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n        strip_prefix = \"unit-prefix-0.5.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8_iter-1.1.0\",\n        sha256 = \"af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8_iter/1.1.0/download\"],\n        strip_prefix = \"utf8_iter-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8_iter-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf8parse-0.2.2\",\n        sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n        strip_prefix = \"utf8parse-0.2.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__utf_types-1.0.0\",\n        sha256 = \"3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/utf_types/1.0.0/download\"],\n        strip_prefix = \"utf_types-1.0.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.utf_types-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__uuid-1.29.0\",\n        sha256 = \"4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.29.0/download\"],\n        strip_prefix = \"uuid-1.29.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.29.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__valuable-0.1.1\",\n        sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n        strip_prefix = \"valuable-0.1.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__want-0.3.2\",\n        sha256 = \"ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/want/0.3.2/download\"],\n        strip_prefix = \"want-0.3.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasip2-1.0.4-wasi-0.2.12\",\n        sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n        strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-0.2.130\",\n        sha256 = \"a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-0.2.130\",\n        sha256 = \"6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-macro-support-0.2.130\",\n        sha256 = \"2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-macro-support-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wasm-bindgen-shared-0.2.130\",\n        sha256 = \"3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.130/download\"],\n        strip_prefix = \"wasm-bindgen-shared-0.2.130\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.130.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__web-time-1.1.0\",\n        sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n        strip_prefix = \"web-time-1.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__which-4.4.2\",\n        sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n        strip_prefix = \"which-4.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-0.3.9\",\n        sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n        strip_prefix = \"winapi-0.3.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n        sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n        sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n        strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-0.61.3\",\n        sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n        strip_prefix = \"windows-0.61.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-collections-0.2.0\",\n        sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n        strip_prefix = \"windows-collections-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-core-0.61.2\",\n        sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n        strip_prefix = \"windows-core-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-future-0.2.1\",\n        sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n        strip_prefix = \"windows-future-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-implement-0.60.2\",\n        sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n        strip_prefix = \"windows-implement-0.60.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-interface-0.59.3\",\n        sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n        strip_prefix = \"windows-interface-0.59.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.1.3\",\n        sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n        strip_prefix = \"windows-link-0.1.3\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-link-0.2.1\",\n        sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n        strip_prefix = \"windows-link-0.2.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-numerics-0.2.0\",\n        sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n        strip_prefix = \"windows-numerics-0.2.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.3.4\",\n        sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n        strip_prefix = \"windows-result-0.3.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-result-0.4.1\",\n        sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n        strip_prefix = \"windows-result-0.4.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-strings-0.4.2\",\n        sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n        strip_prefix = \"windows-strings-0.4.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.48.0\",\n        sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n        strip_prefix = \"windows-sys-0.48.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.59.0\",\n        sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n        strip_prefix = \"windows-sys-0.59.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-sys-0.61.2\",\n        sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n        strip_prefix = \"windows-sys-0.61.2\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.48.5\",\n        sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n        strip_prefix = \"windows-targets-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-targets-0.52.6\",\n        sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n        strip_prefix = \"windows-targets-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows-threading-0.1.0\",\n        sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n        strip_prefix = \"windows-threading-0.1.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n        sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n        sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n        sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n        sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.48.5\",\n        sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_i686_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnu-0.52.6\",\n        sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n        sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.48.5\",\n        sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_i686_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_i686_msvc-0.52.6\",\n        sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_i686_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n        sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n        sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n        sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n        sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n        sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n        sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n        strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__winnow-0.7.15\",\n        sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n        strip_prefix = \"winnow-0.7.15\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__wit-bindgen-0.57.1\",\n        sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n        strip_prefix = \"wit-bindgen-0.57.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__writeable-0.6.4\",\n        sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n        strip_prefix = \"writeable-0.6.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.writeable-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yansi-1.0.1\",\n        sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n        strip_prefix = \"yansi-1.0.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-0.8.4\",\n        sha256 = \"417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke/0.8.4/download\"],\n        strip_prefix = \"yoke-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__yoke-derive-0.8.4\",\n        sha256 = \"ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/yoke-derive/0.8.4/download\"],\n        strip_prefix = \"yoke-derive-0.8.4\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.yoke-derive-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-0.8.63\",\n        sha256 = \"e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.63/download\"],\n        strip_prefix = \"zerocopy-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerocopy-derive-0.8.63\",\n        sha256 = \"863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.63/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.63\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.63.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-0.1.8\",\n        sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n        strip_prefix = \"zerofrom-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerofrom-derive-0.1.8\",\n        sha256 = \"f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.8/download\"],\n        strip_prefix = \"zerofrom-derive-0.1.8\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerofrom-derive-0.1.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize-1.9.1\",\n        sha256 = \"e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.9.1/download\"],\n        strip_prefix = \"zeroize-1.9.1\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.9.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zeroize_derive-1.5.0\",\n        sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n        strip_prefix = \"zeroize_derive-1.5.0\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerotrie-0.2.5\",\n        sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n        strip_prefix = \"zerotrie-0.2.5\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerotrie-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-0.11.9\",\n        sha256 = \"f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec/0.11.9/download\"],\n        strip_prefix = \"zerovec-0.11.9\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-0.11.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zerovec-derive-0.11.7\",\n        sha256 = \"c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.7/download\"],\n        strip_prefix = \"zerovec-derive-0.11.7\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zerovec-derive-0.11.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"crate_index__zmij-1.0.23\",\n        sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n        strip_prefix = \"zmij-1.0.23\",\n        build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.23.bazel\"),\n    )\n\n    return [\n       struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__anyhow-1.0.104\", is_dev_dep = False),\n       struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n       struct(repo=\"crate_index__arrayvec-0.7.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__bytes-1.12.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__cc-1.11.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__clap-4.6.7\", is_dev_dep = False),\n       struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n       struct(repo=\"crate_index__console-0.16.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__env_logger-0.11.11\", is_dev_dep = False),\n       struct(repo=\"crate_index__equivalent-1.0.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__foldhash-0.2.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__futures-0.3.34\", is_dev_dep = False),\n       struct(repo=\"crate_index__hashbrown-0.17.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__indexmap-2.14.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-0.18.6\", is_dev_dep = False),\n       struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n       struct(repo=\"crate_index__log-0.4.35\", is_dev_dep = False),\n       struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__mio-1.2.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__mockall-0.14.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n       struct(repo=\"crate_index__pastey-0.2.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n       struct(repo=\"crate_index__proc-macro2-1.0.107\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-build-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__prost-types-0.14.4\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__quote-1.0.47\", is_dev_dep = False),\n       struct(repo=\"crate_index__rand-0.9.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__rustversion-1.0.23\", is_dev_dep = False),\n       struct(repo=\"crate_index__sem_safe-0.2.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_core-1.0.229\", is_dev_dep = False),\n       struct(repo=\"crate_index__serde_json-1.0.154\", is_dev_dep = False),\n       struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n       struct(repo=\"crate_index__socket2-0.6.5\", is_dev_dep = False),\n       struct(repo=\"crate_index__syn-2.0.119\", is_dev_dep = False),\n       struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n       struct(repo=\"crate_index__thiserror-2.0.21\", is_dev_dep = False),\n       struct(repo=\"crate_index__time-0.3.55\", is_dev_dep = False),\n       struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-1.54.1\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-seqpacket-0.8.2\", is_dev_dep = False),\n       struct(repo=\"crate_index__tokio-util-0.7.20\", is_dev_dep = False),\n       struct(repo=\"crate_index__tonic-0.14.9\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n       struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n    ]\n"
               }
             }
           },
@@ -4818,7 +4828,7 @@
                 "https://static.crates.io/crates/env_logger/0.11.11/download"
               ],
               "strip_prefix": "env_logger-0.11.11",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crate_index__anstream-1.0.0//:anstream\",\n        \"@crate_index__anstyle-1.0.14//:anstyle\",\n        \"@crate_index__env_filter-2.0.0//:env_filter\",\n        \"@crate_index__jiff-0.2.38//:jiff\",\n        \"@crate_index__log-0.4.35//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.11\",\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"env_logger\",\n    deps = [\n        \"@crate_index__anstream-1.0.0//:anstream\",\n        \"@crate_index__anstyle-1.0.14//:anstyle\",\n        \"@crate_index__env_filter-2.0.0//:env_filter\",\n        \"@crate_index__jiff-0.2.39//:jiff\",\n        \"@crate_index__log-0.4.35//:log\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"auto-color\",\n        \"color\",\n        \"default\",\n        \"humantime\",\n        \"regex\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=env_logger\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.11.11\",\n)\n"
             }
           },
           "crate_index__equivalent-1.0.3": {
@@ -6211,52 +6221,52 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"itoa\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=itoa\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.18\",\n)\n"
             }
           },
-          "crate_index__jiff-0.2.38": {
+          "crate_index__jiff-0.2.39": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "b2b005715dcbeb0089a3c0dab99f2ff1cc3b2525323552703d648585d342a383",
+              "sha256": "3ac703058abac89e5c39b0b879dce2b6b14a4ba36600c7e7e3d0c60a6883ef3c",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/jiff/0.2.38/download"
+                "https://static.crates.io/crates/jiff/0.2.39/download"
               ],
-              "strip_prefix": "jiff-0.2.38",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"jiff\",\n    deps = [\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\",\n    ],\n    aliases = {\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\": \"jcore\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.38\",\n)\n"
+              "strip_prefix": "jiff-0.2.39",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"jiff\",\n    deps = [\n        \"@crate_index__jiff-core-0.1.2//:jiff_core\",\n    ],\n    aliases = {\n        \"@crate_index__jiff-core-0.1.2//:jiff_core\": \"jcore\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.39\",\n)\n"
             }
           },
-          "crate_index__jiff-core-0.1.1": {
+          "crate_index__jiff-core-0.1.2": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c",
+              "sha256": "aee43309eb53bafb8c36d35d6e444769c8f8e6206a9fbf7546f5db9d7d4a0e93",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/jiff-core/0.1.1/download"
+                "https://static.crates.io/crates/jiff-core/0.1.2/download"
               ],
-              "strip_prefix": "jiff-core-0.1.1",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"jiff_core\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"default\",  # aarch64-unknown-linux-gnu\n            \"tz-fat\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"default\",  # x86_64-unknown-linux-gnu\n            \"tz-fat\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff-core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.1\",\n)\n"
+              "strip_prefix": "jiff-core-0.1.2",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"jiff_core\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"alloc\",\n        \"std\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"default\",  # aarch64-unknown-linux-gnu\n            \"tz-fat\",  # aarch64-unknown-linux-gnu\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"default\",  # x86_64-unknown-linux-gnu\n            \"tz-fat\",  # x86_64-unknown-linux-gnu\n        ],\n        \"//conditions:default\": [],\n    }),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff-core\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.2\",\n)\n"
             }
           },
-          "crate_index__jiff-static-0.2.38": {
+          "crate_index__jiff-static-0.2.39": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
               "patch_args": [],
               "patch_tool": "",
               "patches": [],
               "remote_patch_strip": 1,
-              "sha256": "2cc9817253cf7c7ee4684451bd327e88d6f3658014e54a29198625590650695c",
+              "sha256": "6dc32470c67eb7d0e9ccb74303fa925313dc04cecb1aa048beaa6f391e36a93d",
               "type": "tar.gz",
               "urls": [
-                "https://static.crates.io/crates/jiff-static/0.2.38/download"
+                "https://static.crates.io/crates/jiff-static/0.2.39/download"
               ],
-              "strip_prefix": "jiff-static-0.2.38",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"jiff_static\",\n    deps = [\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    aliases = {\n        \"@crate_index__jiff-core-0.1.1//:jiff_core\": \"jcore\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff-static\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.38\",\n)\n"
+              "strip_prefix": "jiff-static-0.2.39",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n    name = \"jiff_static\",\n    deps = [\n        \"@crate_index__jiff-core-0.1.2//:jiff_core\",\n        \"@crate_index__proc-macro2-1.0.107//:proc_macro2\",\n        \"@crate_index__quote-1.0.47//:quote\",\n        \"@crate_index__syn-2.0.119//:syn\",\n    ],\n    aliases = {\n        \"@crate_index__jiff-core-0.1.2//:jiff_core\": \"jcore\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=jiff-static\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.2.39\",\n)\n"
             }
           },
           "crate_index__js-sys-0.3.107": {
diff --git a/bazel_common/score_modules_tooling.MODULE.bazel b/bazel_common/score_modules_tooling.MODULE.bazel
index 41da143465c..d1f68307fd3 100644
--- a/bazel_common/score_modules_tooling.MODULE.bazel
+++ b/bazel_common/score_modules_tooling.MODULE.bazel
@@ -15,10 +15,9 @@
 # Do not edit manually - use scripts/known_good/update_module_from_known_good.py --known known_good.json --output-dir-modules bazel_common
 
 bazel_dep(name = "score_crates")
-git_override(
+single_version_override(
     module_name = "score_crates",
-    commit = "4656dda8f04a3d88c8089f63111195840cfbd9e3",
-    remote = "https://github.com/eclipse-score/score-crates.git",
+    version = "0.0.11",
 )
 
 bazel_dep(name = "score_itf")
@@ -34,17 +33,15 @@ single_version_override(
 )
 
 bazel_dep(name = "score_tools")
-git_override(
+single_version_override(
     module_name = "score_tools",
-    commit = "4b48cec400c67be75cfc3fa4658ac6a0489bf7a8",
-    remote = "https://github.com/eclipse-score/tools.git",
+    version = "0.0.4",
 )
 
 bazel_dep(name = "score_tooling")
-git_override(
+single_version_override(
     module_name = "score_tooling",
-    commit = "a3eed5852f8addbbbf276aaae262ba1313141ef5",
-    remote = "https://github.com/eclipse-score/tooling.git",
+    version = "3.0.1",
 )
 
 bazel_dep(name = "score_platform")
@@ -54,10 +51,9 @@ single_version_override(
 )
 
 bazel_dep(name = "score_bazel_platforms")
-git_override(
+single_version_override(
     module_name = "score_bazel_platforms",
-    commit = "607672cdf2f05f21af7113dab0849726dd59bf86",
-    remote = "https://github.com/eclipse-score/bazel_platforms.git",
+    version = "1.1.0",
 )
 
 bazel_dep(name = "score_test_scenarios")
@@ -79,8 +75,7 @@ single_version_override(
 )
 
 bazel_dep(name = "score_bazel_cpp_toolchains")
-git_override(
+single_version_override(
     module_name = "score_bazel_cpp_toolchains",
-    commit = "bd12c5344053f842fae4623dada5716dfb43e61d",
-    remote = "https://github.com/eclipse-score/bazel_cpp_toolchains.git",
+    version = "1.0.3",
 )
diff --git a/known_good.json b/known_good.json
index d56a4a99f67..b1424a0df2b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -278,7 +278,7 @@
             "score_crates": {
                 "repo": "https://github.com/eclipse-score/score-crates.git",
                 "docs": false,
-                "hash": "4656dda8f04a3d88c8089f63111195840cfbd9e3"
+                "version": "0.0.11"
             },
             "score_itf": {
                 "repo": "https://github.com/eclipse-score/itf.git",
@@ -294,12 +294,12 @@
             "score_tools": {
                 "repo": "https://github.com/eclipse-score/tools.git",
                 "docs": false,
-                "hash": "4b48cec400c67be75cfc3fa4658ac6a0489bf7a8"
+                "version": "0.0.4"
             },
             "score_tooling": {
                 "repo": "https://github.com/eclipse-score/tooling.git",
                 "docs": false,
-                "hash": "a3eed5852f8addbbbf276aaae262ba1313141ef5"
+                "version": "3.0.1"
             },
             "score_platform": {
                 "repo": "https://github.com/eclipse-score/score.git",
@@ -309,7 +309,7 @@
             "score_bazel_platforms": {
                 "repo": "https://github.com/eclipse-score/bazel_platforms.git",
                 "docs": false,
-                "hash": "607672cdf2f05f21af7113dab0849726dd59bf86"
+                "version": "1.1.0"
             },
             "score_test_scenarios": {
                 "repo": "https://github.com/eclipse-score/testing_tools.git",
@@ -330,7 +330,7 @@
             "score_bazel_cpp_toolchains": {
                 "repo": "https://github.com/eclipse-score/bazel_cpp_toolchains.git",
                 "docs": false,
-                "hash": "bd12c5344053f842fae4623dada5716dfb43e61d",
+                "version": "1.0.3",
                 "metadata": {
                     "code_root_path": "//score/...",
                     "extra_test_config": [],

From a02c7f0a85f051a44f0de44be73659d92382273d Mon Sep 17 00:00:00 2001
From: Alexander Lanin 
Date: Mon, 2 Nov 2026 22:09:20 +0100
Subject: [PATCH 58/80] chore: upgrade Bazel to 8.8.2 (#436)

---
 .bazelversion     |    2 +-
 MODULE.bazel.lock | 1047 ++++++++++-----------------------------------
 2 files changed, 231 insertions(+), 818 deletions(-)

diff --git a/.bazelversion b/.bazelversion
index acd405b1d62..11f1d47dac9 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-8.6.0
+8.8.2
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 92097f70241..1b06dd0805b 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1,5 +1,5 @@
 {
-  "lockFileVersion": 24,
+  "lockFileVersion": 28,
   "registryFileHashes": {
     "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497",
     "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2",
@@ -1214,11 +1214,26 @@
   "moduleExtensions": {
     "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": {
       "general": {
-        "bzlTransitiveDigest": "wguCGPXGIg4T+lCxDNsBklS5fcTpTp7qkLI46R2h1Y4=",
+        "bzlTransitiveDigest": "t+QgUBKxA604z2EQVeBwYnqrIHPNDa7DGwJHZwC3Wfg=",
         "usagesDigest": "2aGKRniWdOhtlYOL0710cE1WHQSZgVJOOQnU6OcEH6M=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:aspect_bazel_lib+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:aspect_bazel_lib+,tar.bzl tar.bzl+",
+          "REPO_MAPPING:aspect_rules_esbuild+,aspect_rules_js aspect_rules_js+",
+          "REPO_MAPPING:aspect_rules_esbuild+,aspect_tools_telemetry_report aspect_tools_telemetry++telemetry+aspect_tools_telemetry_report",
+          "REPO_MAPPING:aspect_rules_esbuild+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_rules_js+,aspect_bazel_lib aspect_bazel_lib+",
+          "REPO_MAPPING:aspect_rules_js+,aspect_rules_js aspect_rules_js+",
+          "REPO_MAPPING:aspect_rules_js+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_rules_js+,bazel_tools bazel_tools",
+          "REPO_MAPPING:bazel_lib+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:bazel_lib+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:tar.bzl+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:tar.bzl+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:tar.bzl+,tar.bzl tar.bzl+"
+        ],
         "generatedRepoSpecs": {
           "esbuild_darwin-x64": {
             "repoRuleId": "@@aspect_rules_esbuild+//esbuild:repositories.bzl%esbuild_repositories",
@@ -1314,98 +1329,31 @@
               "exclude_package_contents": []
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "aspect_bazel_lib+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "aspect_bazel_lib+",
-            "tar.bzl",
-            "tar.bzl+"
-          ],
-          [
-            "aspect_rules_esbuild+",
-            "aspect_rules_js",
-            "aspect_rules_js+"
-          ],
-          [
-            "aspect_rules_esbuild+",
-            "aspect_tools_telemetry_report",
-            "aspect_tools_telemetry++telemetry+aspect_tools_telemetry_report"
-          ],
-          [
-            "aspect_rules_esbuild+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_rules_js+",
-            "aspect_bazel_lib",
-            "aspect_bazel_lib+"
-          ],
-          [
-            "aspect_rules_js+",
-            "aspect_rules_js",
-            "aspect_rules_js+"
-          ],
-          [
-            "aspect_rules_js+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_rules_js+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "tar.bzl+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "tar.bzl+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "tar.bzl+",
-            "tar.bzl",
-            "tar.bzl+"
-          ]
-        ]
+        }
       }
     },
     "@@aspect_rules_js+//npm:extensions.bzl%pnpm": {
       "general": {
-        "bzlTransitiveDigest": "lxcZRv+TYKtJ/wl0igfhEGq/Z3Uctni3irkb5LCf1b8=",
+        "bzlTransitiveDigest": "6h6YQlsVWlP2IHx7iHXt15k6Hvz8dtIBwmJJyPQmu58=",
         "usagesDigest": "kbjSw2REjlSC0HtTZDf2p+l/dmiMt3NHLoiWEXYAoQI=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:aspect_bazel_lib+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:aspect_bazel_lib+,tar.bzl tar.bzl+",
+          "REPO_MAPPING:aspect_rules_js+,aspect_bazel_lib aspect_bazel_lib+",
+          "REPO_MAPPING:aspect_rules_js+,aspect_rules_js aspect_rules_js+",
+          "REPO_MAPPING:aspect_rules_js+,bazel_features bazel_features+",
+          "REPO_MAPPING:aspect_rules_js+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_rules_js+,bazel_tools bazel_tools",
+          "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals",
+          "REPO_MAPPING:bazel_features+,bazel_features_version bazel_features++version_extension+bazel_features_version",
+          "REPO_MAPPING:bazel_lib+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:bazel_lib+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:tar.bzl+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:tar.bzl+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:tar.bzl+,tar.bzl tar.bzl+"
+        ],
         "generatedRepoSpecs": {
           "pnpm": {
             "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_rule",
@@ -1459,98 +1407,19 @@
               "exclude_package_contents": []
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "aspect_bazel_lib+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "aspect_bazel_lib+",
-            "tar.bzl",
-            "tar.bzl+"
-          ],
-          [
-            "aspect_rules_js+",
-            "aspect_bazel_lib",
-            "aspect_bazel_lib+"
-          ],
-          [
-            "aspect_rules_js+",
-            "aspect_rules_js",
-            "aspect_rules_js+"
-          ],
-          [
-            "aspect_rules_js+",
-            "bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "aspect_rules_js+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_rules_js+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_globals",
-            "bazel_features++version_extension+bazel_features_globals"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_version",
-            "bazel_features++version_extension+bazel_features_version"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "tar.bzl+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "tar.bzl+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "tar.bzl+",
-            "tar.bzl",
-            "tar.bzl+"
-          ]
-        ]
+        }
       }
     },
     "@@aspect_rules_py+//py:extensions.bzl%py_tools": {
       "general": {
-        "bzlTransitiveDigest": "qkfgjYatO4RGQl4RNu7KaUHFvv3Zq/P626TyM15Ee5A=",
+        "bzlTransitiveDigest": "VPrdZ/BOolFx9kcT8fiuRIDRw3E2Mmt8BJ2fMLf3208=",
         "usagesDigest": "NF8rrFAtM0OxyfflUbQNlgnkIH3YSHU4jCm3dhvpGY4=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:aspect_bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:aspect_rules_py+,aspect_bazel_lib aspect_bazel_lib+",
+          "REPO_MAPPING:aspect_rules_py+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:aspect_rules_py+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "bsd_tar_darwin_amd64": {
             "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo",
@@ -1634,38 +1503,17 @@
               "downloaded_file_path": "pex-2.3.1-py2.py3-none-any.whl"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "aspect_bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "aspect_rules_py+",
-            "aspect_bazel_lib",
-            "aspect_bazel_lib+"
-          ],
-          [
-            "aspect_rules_py+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "aspect_rules_py+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@aspect_tools_telemetry+//:extension.bzl%telemetry": {
       "general": {
         "bzlTransitiveDigest": "gA7tPEdJXhskzPIEUxjX9IdDrM6+WjfbgXJ8Ez47umk=",
         "usagesDigest": "aiWShUDjoNv1aayeGTTvqXz2Y/TSC0zLzUPpjC916Jo=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:aspect_tools_telemetry+,aspect_bazel_lib aspect_bazel_lib+",
+          "REPO_MAPPING:aspect_tools_telemetry+,bazel_skylib bazel_skylib+"
+        ],
         "generatedRepoSpecs": {
           "aspect_tools_telemetry_report": {
             "repoRuleId": "@@aspect_tools_telemetry+//:extension.bzl%tel_repository",
@@ -1677,28 +1525,32 @@
               }
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "aspect_tools_telemetry+",
-            "aspect_bazel_lib",
-            "aspect_bazel_lib+"
-          ],
-          [
-            "aspect_tools_telemetry+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ]
-        ]
+        }
       }
     },
     "@@bazel_jar_jar+//internal:non_module_deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "yY4JZwLqlWjGdqgeYKwhn5LxsFmnACDn0uA/vYnrYVQ=",
+        "bzlTransitiveDigest": "kSmVfT/7EDMzmrbbBh9tC/CRNFiPDcpj/iorTChiqH4=",
         "usagesDigest": "P1uSZ4XnqOp90Mkh0A4Nrjx12Bgz/iceROnSbTsawGk=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals",
+          "REPO_MAPPING:bazel_features+,bazel_features_version bazel_features++version_extension+bazel_features_version",
+          "REPO_MAPPING:bazel_jar_jar+,bazel_tools bazel_tools",
+          "REPO_MAPPING:bazel_tools,rules_java rules_java+",
+          "REPO_MAPPING:protobuf+,proto_bazel_features bazel_features+",
+          "REPO_MAPPING:rules_cc+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:rules_cc+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_cc+,cc_compatibility_proxy rules_cc++compatibility_proxy+cc_compatibility_proxy",
+          "REPO_MAPPING:rules_cc+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_cc++compatibility_proxy+cc_compatibility_proxy,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_java+,bazel_features bazel_features+",
+          "REPO_MAPPING:rules_java+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:rules_java+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_java+,com_google_protobuf protobuf+",
+          "REPO_MAPPING:rules_java+,compatibility_proxy rules_java++compatibility_proxy+compatibility_proxy",
+          "REPO_MAPPING:rules_java+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_java++compatibility_proxy+compatibility_proxy,rules_java rules_java+"
+        ],
         "generatedRepoSpecs": {
           "jvm__jarjar_abrams_assembly": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar",
@@ -1718,103 +1570,17 @@
               "sha256": "e0de2ad8ef344bb11a2854275b5b85a1adb17f0e0ed9740177d940a602cd977b"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "bazel_features+",
-            "bazel_features_globals",
-            "bazel_features++version_extension+bazel_features_globals"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_version",
-            "bazel_features++version_extension+bazel_features_version"
-          ],
-          [
-            "bazel_jar_jar+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "bazel_tools",
-            "rules_java",
-            "rules_java+"
-          ],
-          [
-            "protobuf+",
-            "proto_bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "rules_cc+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_cc+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ],
-          [
-            "rules_cc+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_java+",
-            "bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "rules_java+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_java+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_java+",
-            "com_google_protobuf",
-            "protobuf+"
-          ],
-          [
-            "rules_java+",
-            "compatibility_proxy",
-            "rules_java++compatibility_proxy+compatibility_proxy"
-          ],
-          [
-            "rules_java+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_java++compatibility_proxy+compatibility_proxy",
-            "rules_java",
-            "rules_java+"
-          ]
-        ]
+        }
       }
     },
     "@@envoy_api+//bazel:repositories.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "ZZmkeUj6sKBhRPx7KC3Ko/bFvj0z/1JGGmJwq07Bjz8=",
+        "bzlTransitiveDigest": "qMUb9HiwiNyf9asMkq4UUAB8fsfE3mSwanjfID3jLxo=",
         "usagesDigest": "lOhJkV09ITWn6LOK9fLMuf1t3969wdr45lToQ2MVQoU=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:envoy_api+,bazel_tools bazel_tools",
+          "REPO_MAPPING:envoy_api+,envoy_api envoy_api+"
+        ],
         "generatedRepoSpecs": {
           "prometheus_metrics_model": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -1827,39 +1593,24 @@
               "build_file_content": "\nload(\"@envoy_api//bazel:api_build_system.bzl\", \"api_cc_py_proto_library\")\nload(\"@io_bazel_rules_go//proto:def.bzl\", \"go_proto_library\")\n\napi_cc_py_proto_library(\n    name = \"client_model\",\n    srcs = [\n        \"io/prometheus/client/metrics.proto\",\n    ],\n    visibility = [\"//visibility:public\"],\n)\n\ngo_proto_library(\n    name = \"client_model_go_proto\",\n    importpath = \"github.com/prometheus/client_model/go\",\n    proto = \":client_model\",\n    visibility = [\"//visibility:public\"],\n)\n"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "envoy_api+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "envoy_api+",
-            "envoy_api",
-            "envoy_api+"
-          ]
-        ]
+        }
       }
     },
     "@@googleapis+//:extensions.bzl%switched_rules": {
       "general": {
         "bzlTransitiveDigest": "1ZTg77R3Ks/ksx8QMNIoTRJetbJPRlzGFlJa9hoUn+Y=",
         "usagesDigest": "4qqLlQt9ukbtcljUbNd31KFkYT16jA3KGb6yYAFv+o4=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
-        "generatedRepoSpecs": {},
-        "recordedRepoMappingEntries": []
+        "recordedInputs": [],
+        "generatedRepoSpecs": {}
       }
     },
     "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "doxdX2drQaP4mqY6tnLSIGABgYuXR5Hpp6Wpfyb23Rg=",
+        "bzlTransitiveDigest": "qQEChI+4ZOV4xn6LulonXjQy5+Z0z1gELJDmBl1ePy4=",
         "usagesDigest": "tVQNvLoXMWAbiK39am3yovKGpwINdftfn7RpDyN+JZc=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:pybind11_bazel+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "pybind11": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -1870,23 +1621,16 @@
               "integrity": "sha256-4Iy4f0dz2pf6e18DXeh2OrxlbYfVdz5i9toFh9Hw7CA="
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "pybind11_bazel+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@rules_android+//bzlmod_extensions:apksig.bzl%apksig_extension": {
       "general": {
-        "bzlTransitiveDigest": "By9qVNN7G4oL1vYOJXye7Dp/CbR2ar9oxAW8WXAVcVw=",
+        "bzlTransitiveDigest": "c6mHv2L0P+tWDe7lh/mpzTEedvukBq17Gr9gP16UdxU=",
         "usagesDigest": "xq6OVkELeJvOgYo3oY/sUBsGFbcqdV+9BYiNgSPV/po=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_android+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "apksig": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -1895,23 +1639,16 @@
               "build_file": "@@rules_android+//bzlmod_extensions:apksig.BUILD"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_android+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": {
       "general": {
-        "bzlTransitiveDigest": "rvWbJQc8jInfIAaXIMhSOqUlwM9HVeLey6q0ISvg08Y=",
+        "bzlTransitiveDigest": "BbM3I4LvjudqQ6/IwaP/LaJXdj2EPfqPleTjiFG4Lg0=",
         "usagesDigest": "toF8IFMu98H/VU2p1sfVC5fVXVYJunpbbmtM6tOsQXY=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_android+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "com_android_dex": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -1920,39 +1657,32 @@
               "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_android+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": {
       "general": {
         "bzlTransitiveDigest": "NAy+0M15JNVEBb8Tny6t7j3lKqTnsAMjoBB6LJ+C370=",
         "usagesDigest": "g9Ur6X6qhf9a8MmY9qXU/jFjkyk/aZVBegI0yVMF0z4=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "androidsdk": {
             "repoRuleId": "@@rules_android+//rules/android_sdk_repository:rule.bzl%_android_sdk_repository",
             "attributes": {}
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@rules_boost+//:boost/repositories.bzl%non_module_dependencies": {
       "general": {
-        "bzlTransitiveDigest": "LyNJAJDFfdhRYUCeGd1OJlb0/cdtrEpQca0MpJy9l6w=",
+        "bzlTransitiveDigest": "SMISXSa/ms4k5rNiTvHknveo35WQ5kOpm8R8sKd4yUE=",
         "usagesDigest": "canq1L79wnY+XAIZyheMV15WNld78S/hm3so039iS80=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_boost+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_boost+,com_github_nelhage_rules_boost rules_boost+",
+          "REPO_MAPPING:rules_boost+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_cc+,cc_compatibility_proxy rules_cc++compatibility_proxy+cc_compatibility_proxy"
+        ],
         "generatedRepoSpecs": {
           "boost": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -1975,38 +1705,16 @@
               "strip_prefix": "boost-1.84.0"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_boost+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_boost+",
-            "com_github_nelhage_rules_boost",
-            "rules_boost+"
-          ],
-          [
-            "rules_boost+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ]
-        ]
+        }
       }
     },
     "@@rules_buf+//buf:extensions.bzl%buf": {
       "general": {
         "bzlTransitiveDigest": "dSWqckK2ILN7aDIDHfv+Qrl1fb1hF7o7MDXY6T8C41s=",
         "usagesDigest": "vxN6C2h72rUERbAmd1476FWpxdxo1NhYoY5JSFXJT3g=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_buf+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "rules_buf_toolchains": {
             "repoRuleId": "@@rules_buf+//buf/internal:toolchain.bzl%buf_download_releases",
@@ -2015,26 +1723,24 @@
               "sha256": "1b37b75dc0a777a0cba17fa2604bc9906e55bb4c578823d8b7a8fe3fc9fe4439"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_buf+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@rules_distroless+//apt:extensions.bzl%apt": {
       "general": {
-        "bzlTransitiveDigest": "JeghnHp8g69GVW+YOpl7vD3YRaZmylDr+E+iuARG86I=",
+        "bzlTransitiveDigest": "tpMdhRsrVVl56cpZirFKhgdOvYc/pG89fOC2YYogv2A=",
         "usagesDigest": "Hrg5PJP+0wbCelJ+f8oQyZ9iKJ5YLUyfBZF0VT71cuc=",
-        "recordedFileInputs": {
-          "@@score_tooling+//third_party/docs_runtime/manifest.yaml": "f8bd762e0dcaf3150504eca8dfd60819fc3be428d3a8b58d1d9cc52d68e16a45",
-          "@@score_tooling+//third_party/tooling_sysroot/manifest.yaml": "ef1e4af34dbf67a9e332c69ccad0b12b2e295849c33e98658c6ccd69e363c4cd"
-        },
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals",
+          "REPO_MAPPING:bazel_features+,bazel_features_version bazel_features++version_extension+bazel_features_version",
+          "REPO_MAPPING:rules_distroless+,bazel_features bazel_features+",
+          "REPO_MAPPING:rules_distroless+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:rules_distroless+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:rules_distroless+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_distroless+,yq_linux_amd64 yq.bzl++yq+yq_linux_amd64",
+          "FILE:@@score_tooling+//third_party/docs_runtime/manifest.yaml f8bd762e0dcaf3150504eca8dfd60819fc3be428d3a8b58d1d9cc52d68e16a45",
+          "FILE:@@score_tooling+//third_party/tooling_sysroot/manifest.yaml ef1e4af34dbf67a9e332c69ccad0b12b2e295849c33e98658c6ccd69e363c4cd"
+        ],
         "generatedRepoSpecs": {
           "docs_runtime_base-files_13ubuntu10.4_amd64": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -3230,53 +2936,16 @@
           "explicitRootModuleDirectDevDeps": [],
           "useAllRepos": "NO",
           "reproducible": false
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "bazel_features+",
-            "bazel_features_globals",
-            "bazel_features++version_extension+bazel_features_globals"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_version",
-            "bazel_features++version_extension+bazel_features_version"
-          ],
-          [
-            "rules_distroless+",
-            "bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "rules_distroless+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "rules_distroless+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_distroless+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_distroless+",
-            "yq_linux_amd64",
-            "yq.bzl++yq+yq_linux_amd64"
-          ]
-        ]
+        }
       }
     },
     "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": {
       "general": {
-        "bzlTransitiveDigest": "HJP3wKFbPhB1mSYjJS6kbXEiP+OQxvsBdqpvyJN6I3s=",
+        "bzlTransitiveDigest": "ipDzEAtocAfIXfJbcbskFj4cGI7OMiupxpyQcliozJ4=",
         "usagesDigest": "qTwqmKKUfWcPdvM0waG+CPWrxsbeAWVeUxavm7tEk9E=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_kotlin+,bazel_tools bazel_tools"
+        ],
         "generatedRepoSpecs": {
           "com_github_jetbrains_kotlin_git": {
             "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository",
@@ -3341,23 +3010,14 @@
               ]
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_kotlin+",
-            "bazel_tools",
-            "bazel_tools"
-          ]
-        ]
+        }
       }
     },
     "@@rules_nodejs+//nodejs:extensions.bzl%node": {
       "general": {
         "bzlTransitiveDigest": "4pUxCNc22K4I+6+4Nxu52Hur12tFRfa1JMsN5mdDv60=",
         "usagesDigest": "KC7HyKRhcVBxLzBZ154+/svI34MlSgynA4NSElgMXaI=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "nodejs_linux_amd64": {
             "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
@@ -3481,17 +3141,31 @@
               "user_node_repository_name": "nodejs"
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@rules_python+//python/extensions:config.bzl%config": {
       "general": {
-        "bzlTransitiveDigest": "TRGIl0CDmorwyNiblOYyhWuyKzi/kWFHT2uIofq7o9Y=",
+        "bzlTransitiveDigest": "EcMcbtKZvYmd5Mi1Fpg4EeBBztLHEE5tjO5tLDBYDuU=",
         "usagesDigest": "lDbpRfhoWmZCHSaNxwZv/8fF2y0wu2th0G0f/uqX7VM=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_python+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_python+,pypi__build rules_python++config+pypi__build",
+          "REPO_MAPPING:rules_python+,pypi__click rules_python++config+pypi__click",
+          "REPO_MAPPING:rules_python+,pypi__colorama rules_python++config+pypi__colorama",
+          "REPO_MAPPING:rules_python+,pypi__importlib_metadata rules_python++config+pypi__importlib_metadata",
+          "REPO_MAPPING:rules_python+,pypi__installer rules_python++config+pypi__installer",
+          "REPO_MAPPING:rules_python+,pypi__more_itertools rules_python++config+pypi__more_itertools",
+          "REPO_MAPPING:rules_python+,pypi__packaging rules_python++config+pypi__packaging",
+          "REPO_MAPPING:rules_python+,pypi__pep517 rules_python++config+pypi__pep517",
+          "REPO_MAPPING:rules_python+,pypi__pip rules_python++config+pypi__pip",
+          "REPO_MAPPING:rules_python+,pypi__pip_tools rules_python++config+pypi__pip_tools",
+          "REPO_MAPPING:rules_python+,pypi__pyproject_hooks rules_python++config+pypi__pyproject_hooks",
+          "REPO_MAPPING:rules_python+,pypi__setuptools rules_python++config+pypi__setuptools",
+          "REPO_MAPPING:rules_python+,pypi__tomli rules_python++config+pypi__tomli",
+          "REPO_MAPPING:rules_python+,pypi__wheel rules_python++config+pypi__wheel",
+          "REPO_MAPPING:rules_python+,pypi__zipp rules_python++config+pypi__zipp"
+        ],
         "generatedRepoSpecs": {
           "rules_python_internal": {
             "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo",
@@ -3635,98 +3309,17 @@
               "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude to avoid non-determinism.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/*.pyc.*\",  # During pyc creation, temp files named *.pyc.NNN are created\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_python+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_python+",
-            "pypi__build",
-            "rules_python++config+pypi__build"
-          ],
-          [
-            "rules_python+",
-            "pypi__click",
-            "rules_python++config+pypi__click"
-          ],
-          [
-            "rules_python+",
-            "pypi__colorama",
-            "rules_python++config+pypi__colorama"
-          ],
-          [
-            "rules_python+",
-            "pypi__importlib_metadata",
-            "rules_python++config+pypi__importlib_metadata"
-          ],
-          [
-            "rules_python+",
-            "pypi__installer",
-            "rules_python++config+pypi__installer"
-          ],
-          [
-            "rules_python+",
-            "pypi__more_itertools",
-            "rules_python++config+pypi__more_itertools"
-          ],
-          [
-            "rules_python+",
-            "pypi__packaging",
-            "rules_python++config+pypi__packaging"
-          ],
-          [
-            "rules_python+",
-            "pypi__pep517",
-            "rules_python++config+pypi__pep517"
-          ],
-          [
-            "rules_python+",
-            "pypi__pip",
-            "rules_python++config+pypi__pip"
-          ],
-          [
-            "rules_python+",
-            "pypi__pip_tools",
-            "rules_python++config+pypi__pip_tools"
-          ],
-          [
-            "rules_python+",
-            "pypi__pyproject_hooks",
-            "rules_python++config+pypi__pyproject_hooks"
-          ],
-          [
-            "rules_python+",
-            "pypi__setuptools",
-            "rules_python++config+pypi__setuptools"
-          ],
-          [
-            "rules_python+",
-            "pypi__tomli",
-            "rules_python++config+pypi__tomli"
-          ],
-          [
-            "rules_python+",
-            "pypi__wheel",
-            "rules_python++config+pypi__wheel"
-          ],
-          [
-            "rules_python+",
-            "pypi__zipp",
-            "rules_python++config+pypi__zipp"
-          ]
-        ]
+        }
       }
     },
     "@@rules_python+//python/uv:uv.bzl%uv": {
       "general": {
         "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=",
         "usagesDigest": "uQTBbUznZw5QbQpT5wBV/9G50SWy2bbs71OLoidyIG8=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:rules_python+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_python+,platforms platforms"
+        ],
         "generatedRepoSpecs": {
           "uv": {
             "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo",
@@ -3746,40 +3339,37 @@
               "toolchain_target_settings": {}
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "rules_python+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_python+",
-            "platforms",
-            "platforms"
-          ]
-        ]
+        }
       }
     },
     "@@rules_rust+//crate_universe:extensions.bzl%crate": {
       "general": {
-        "bzlTransitiveDigest": "N87iFb1kl75ImHvt/FcUlH3gc053UN44t7+uYjQrdGQ=",
+        "bzlTransitiveDigest": "0j4b0kbz4Gw1m7MlsSAQiiKgWhA7Z8uilN83tBJns2c=",
         "usagesDigest": "eb+5NRPWFOBU1jrkGisCnmreFNAWm2OW3iJ1GJ/y/Vo=",
-        "recordedFileInputs": {
-          "@@score_tooling+//Cargo.lock": "073808c4d30ce6d029db2867b48a017d22a9b400c6858f47fea4338583069c46",
-          "@@score_tooling+//cargo-bazel-lock.json": "9ebce94df54b2255bdf819763b94a0830a74591d1ed8589348b76a7d2957abe8"
-        },
-        "recordedDirentsInputs": {},
-        "envVariables": {
-          "CARGO_BAZEL_DEBUG": null,
-          "CARGO_BAZEL_GENERATOR_SHA256": null,
-          "CARGO_BAZEL_GENERATOR_URL": null,
-          "CARGO_BAZEL_ISOLATED": null,
-          "CARGO_BAZEL_REPIN": null,
-          "CARGO_BAZEL_REPIN_ONLY": null,
-          "CARGO_BAZEL_TIMEOUT": null,
-          "REPIN": null
-        },
+        "recordedInputs": [
+          "ENV:CARGO_BAZEL_DEBUG \\0",
+          "ENV:CARGO_BAZEL_GENERATOR_SHA256 \\0",
+          "ENV:CARGO_BAZEL_GENERATOR_URL \\0",
+          "ENV:CARGO_BAZEL_ISOLATED \\0",
+          "ENV:CARGO_BAZEL_REPIN \\0",
+          "ENV:CARGO_BAZEL_REPIN_ONLY \\0",
+          "ENV:CARGO_BAZEL_TIMEOUT \\0",
+          "ENV:REPIN \\0",
+          "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals",
+          "REPO_MAPPING:bazel_features+,bazel_features_version bazel_features++version_extension+bazel_features_version",
+          "REPO_MAPPING:rules_cc+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_cc+,cc_compatibility_proxy rules_cc++compatibility_proxy+cc_compatibility_proxy",
+          "REPO_MAPPING:rules_cc+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_cc++compatibility_proxy+cc_compatibility_proxy,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_rust+,bazel_features bazel_features+",
+          "REPO_MAPPING:rules_rust+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:rules_rust+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_rust+,cargo_bazel_bootstrap rules_rust++cu_nr+cargo_bazel_bootstrap",
+          "REPO_MAPPING:rules_rust+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_rust+,rules_rust rules_rust+",
+          "FILE:@@score_tooling+//Cargo.lock 073808c4d30ce6d029db2867b48a017d22a9b400c6858f47fea4338583069c46",
+          "FILE:@@score_tooling+//cargo-bazel-lock.json 9ebce94df54b2255bdf819763b94a0830a74591d1ed8589348b76a7d2957abe8"
+        ],
         "generatedRepoSpecs": {
           "crate_index": {
             "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo",
@@ -10679,78 +10269,29 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'score_tooling'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"zmij\",\n    deps = [\n        \"@crates_score_tooling__zmij-1.0.23//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n        \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n        \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.23\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2021\",\n    pkg_name = \"zmij\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=zmij\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.0.23\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "bazel_features+",
-            "bazel_features_globals",
-            "bazel_features++version_extension+bazel_features_globals"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_version",
-            "bazel_features++version_extension+bazel_features_version"
-          ],
-          [
-            "rules_cc+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ],
-          [
-            "rules_cc+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_rust+",
-            "cargo_bazel_bootstrap",
-            "rules_rust++cu_nr+cargo_bazel_bootstrap"
-          ],
-          [
-            "rules_rust+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_rust+",
-            "rules_rust",
-            "rules_rust+"
-          ]
-        ]
+        }
       }
     },
     "@@rules_rust+//crate_universe/private:internal_extensions.bzl%cu_nr": {
       "general": {
-        "bzlTransitiveDigest": "NRlprWw35DfgCebgqn1TtCp+nk0JTpyOzUUmi+3dlk8=",
+        "bzlTransitiveDigest": "3YLz+p4MNCZRNRS+w2LtYBGd3mM400kCwaEjT8UlAAg=",
         "usagesDigest": "1ieIYuafZ1pmP+ncVvISMfB3Em0hv9LCmCRwIH7gL8E=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals",
+          "REPO_MAPPING:bazel_features+,bazel_features_version bazel_features++version_extension+bazel_features_version",
+          "REPO_MAPPING:rules_cc+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_cc+,cc_compatibility_proxy rules_cc++compatibility_proxy+cc_compatibility_proxy",
+          "REPO_MAPPING:rules_cc+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_cc++compatibility_proxy+cc_compatibility_proxy,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_rust+,bazel_features bazel_features+",
+          "REPO_MAPPING:rules_rust+,bazel_skylib bazel_skylib+",
+          "REPO_MAPPING:rules_rust+,bazel_tools bazel_tools",
+          "REPO_MAPPING:rules_rust+,cargo_bazel_bootstrap rules_rust++cu_nr+cargo_bazel_bootstrap",
+          "REPO_MAPPING:rules_rust+,cui rules_rust++cu+cui",
+          "REPO_MAPPING:rules_rust+,rrc rules_rust++i2+rrc",
+          "REPO_MAPPING:rules_rust+,rules_cc rules_cc+",
+          "REPO_MAPPING:rules_rust+,rules_rust rules_rust+"
+        ],
         "generatedRepoSpecs": {
           "cargo_bazel_bootstrap": {
             "repoRuleId": "@@rules_rust+//cargo/private:cargo_bootstrap.bzl%cargo_bootstrap_repository",
@@ -10826,88 +10367,18 @@
           "explicitRootModuleDirectDevDeps": [],
           "useAllRepos": "NO",
           "reproducible": false
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "bazel_features+",
-            "bazel_features_globals",
-            "bazel_features++version_extension+bazel_features_globals"
-          ],
-          [
-            "bazel_features+",
-            "bazel_features_version",
-            "bazel_features++version_extension+bazel_features_version"
-          ],
-          [
-            "rules_cc+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_cc+",
-            "cc_compatibility_proxy",
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy"
-          ],
-          [
-            "rules_cc+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_cc++compatibility_proxy+cc_compatibility_proxy",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_features",
-            "bazel_features+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_skylib",
-            "bazel_skylib+"
-          ],
-          [
-            "rules_rust+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "rules_rust+",
-            "cargo_bazel_bootstrap",
-            "rules_rust++cu_nr+cargo_bazel_bootstrap"
-          ],
-          [
-            "rules_rust+",
-            "cui",
-            "rules_rust++cu+cui"
-          ],
-          [
-            "rules_rust+",
-            "rrc",
-            "rules_rust++i2+rrc"
-          ],
-          [
-            "rules_rust+",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "rules_rust+",
-            "rules_rust",
-            "rules_rust+"
-          ]
-        ]
+        }
       }
     },
     "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": {
       "general": {
-        "bzlTransitiveDigest": "4I0YNPbDgLY5CojGj/bUi9kZkZnU0EDjGFyT8XcfAc4=",
+        "bzlTransitiveDigest": "w+3nI76XENP/NdzSkBG5LURTQOmoWml9BWNMKzRVJco=",
         "usagesDigest": "ezffglGbopGEOOUlKRbjWL5XQdlJjREiAeTq9QXnwqQ=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:bazel_tools,rules_cc rules_cc+",
+          "REPO_MAPPING:score_bazel_cpp_toolchains+,bazel_tools bazel_tools",
+          "REPO_MAPPING:score_bazel_cpp_toolchains+,score_bazel_cpp_toolchains score_bazel_cpp_toolchains+"
+        ],
         "generatedRepoSpecs": {
           "unified_gcc_x86_64_toolchain_pkg": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
@@ -11195,33 +10666,21 @@
               "use_base_constraints_only": false
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "bazel_tools",
-            "rules_cc",
-            "rules_cc+"
-          ],
-          [
-            "score_bazel_cpp_toolchains+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "score_bazel_cpp_toolchains+",
-            "score_bazel_cpp_toolchains",
-            "score_bazel_cpp_toolchains+"
-          ]
-        ]
+        }
       }
     },
     "@@score_rules_imagefs+//extensions:imagefs.bzl%imagefs": {
       "general": {
-        "bzlTransitiveDigest": "AhldzzceHQweCskTyocFKGDFKZfW2t5IdpfsFJV4S9g=",
+        "bzlTransitiveDigest": "QhWu3S0r+BB5gCeNfjskCjQbAFsZrzik1VQs9hwJLfQ=",
         "usagesDigest": "/TmbRDKbrKvzgUh1kgwmBgikEuIonP0fOz164yCxbIw=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [
+          "REPO_MAPPING:,score_qcc_aarch64_toolchain_pkg score_bazel_cpp_toolchains++gcc+score_qcc_aarch64_toolchain_pkg",
+          "REPO_MAPPING:,score_qcc_x86_64_toolchain_pkg score_bazel_cpp_toolchains++gcc+score_qcc_x86_64_toolchain_pkg",
+          "REPO_MAPPING:bazel_lib+,bazel_tools bazel_tools",
+          "REPO_MAPPING:score_rules_imagefs+,bazel_lib bazel_lib+",
+          "REPO_MAPPING:score_rules_imagefs+,bazel_tools bazel_tools",
+          "REPO_MAPPING:score_rules_imagefs+,score_rules_imagefs score_rules_imagefs+"
+        ],
         "generatedRepoSpecs": {
           "score_qnx_x86_64_ifs_toolchain": {
             "repoRuleId": "@@score_rules_imagefs+//rules:imagefs_toolchain.bzl%imagefs_toolchain",
@@ -11245,48 +10704,14 @@
               "coreutils_pkg_repo": ""
             }
           }
-        },
-        "recordedRepoMappingEntries": [
-          [
-            "",
-            "score_qcc_aarch64_toolchain_pkg",
-            "score_bazel_cpp_toolchains++gcc+score_qcc_aarch64_toolchain_pkg"
-          ],
-          [
-            "",
-            "score_qcc_x86_64_toolchain_pkg",
-            "score_bazel_cpp_toolchains++gcc+score_qcc_x86_64_toolchain_pkg"
-          ],
-          [
-            "bazel_lib+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "score_rules_imagefs+",
-            "bazel_lib",
-            "bazel_lib+"
-          ],
-          [
-            "score_rules_imagefs+",
-            "bazel_tools",
-            "bazel_tools"
-          ],
-          [
-            "score_rules_imagefs+",
-            "score_rules_imagefs",
-            "score_rules_imagefs+"
-          ]
-        ]
+        }
       }
     },
     "@@score_sbom+//:extensions.bzl%sbom_metadata": {
       "general": {
         "bzlTransitiveDigest": "6MZmMjhsKcOnMq12Rbna7aYgF4ZAbEtH3kjZYu4M5nI=",
         "usagesDigest": "ovYReADsyGdHYgJfy+U2WyFTpJ5y6MIYBKD095Jg8Js=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "sbom_metadata": {
             "repoRuleId": "@@score_sbom+//:extensions.bzl%_sbom_metadata_repo",
@@ -11303,17 +10728,14 @@
               ]
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@score_toolchains_rust+//extensions:ferrocene_toolchain_ext.bzl%ferrocene_rules_rust_miri_toolchain_ext": {
       "general": {
         "bzlTransitiveDigest": "9k8SLwP4ec9xXjFivq0Kn0FradTQhcEA+j/WsLxfVPM=",
         "usagesDigest": "1G+0hoRkZx33aQUiAxx8GdGErOPGCHHQXn5lO7fZxgI=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "ferrocene_x86_64_unknown_linux_gnu_rules_rust_miri": {
             "repoRuleId": "@@score_toolchains_rust+//extensions:ferrocene_toolchain_ext.bzl%ferrocene_rules_rust_miri_toolchain_repo",
@@ -11379,17 +10801,14 @@
               ]
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@score_toolchains_rust+//extensions:ferrocene_toolchain_ext.bzl%ferrocene_toolchain_ext": {
       "general": {
         "bzlTransitiveDigest": "9k8SLwP4ec9xXjFivq0Kn0FradTQhcEA+j/WsLxfVPM=",
         "usagesDigest": "sTRkfpw7RZlXZhb68LZAmHx6R4P3qFrI5aaWTQQX3T0=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "ferrocene_aarch64_ebclfsa": {
             "repoRuleId": "@@score_toolchains_rust+//extensions:ferrocene_toolchain_ext.bzl%ferrocene_toolchain_repo",
@@ -11585,17 +11004,14 @@
               "miri_sysroot_strip_prefix": "aarch64-unknown-nto-qnx800"
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@toolchains_llvm+//toolchain/extensions:distributions.bzl%llvm_distributions": {
       "general": {
         "bzlTransitiveDigest": "gCdXpBt3HBBc280OILOFheHmO7lXWXJYnPgYiTtyapI=",
         "usagesDigest": "VyKGZSw79ryPJ9gt0sqBfIkA7qGOU6tnlDHd7awkb6Q=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "llvm_distributions_data": {
             "repoRuleId": "@@toolchains_llvm+//toolchain/internal:distributions_repo.bzl%llvm_distributions_repo",
@@ -11608,17 +11024,14 @@
               ]
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     },
     "@@yq.bzl+//yq:extensions.bzl%yq": {
       "general": {
         "bzlTransitiveDigest": "61Uz+o5PnlY0jJfPZEUNqsKxnM/UCLeWsn5VVCc8u5Y=",
         "usagesDigest": "1CP5kLHwnlFZ3obmnV0eEOp+80JltkcSimeCHXe8/+E=",
-        "recordedFileInputs": {},
-        "recordedDirentsInputs": {},
-        "envVariables": {},
+        "recordedInputs": [],
         "generatedRepoSpecs": {
           "yq_darwin_amd64": {
             "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo",
@@ -11682,8 +11095,7 @@
               "user_repository_name": "yq"
             }
           }
-        },
-        "recordedRepoMappingEntries": []
+        }
       }
     }
   },
@@ -12388,5 +11800,6 @@
         ]
       }
     }
-  }
+  },
+  "factsVersions": {}
 }

From b7933b56a436bda974015a47ec3f04bbca3b9cd9 Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Tue, 3 Nov 2026 07:17:29 +0000
Subject: [PATCH 59/80] Bump lifecycle

---
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index e00c3765f53..585d6e17930 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -53,15 +53,14 @@ single_version_override(
 )
 
 bazel_dep(name = "score_lifecycle")
-git_override(
+single_version_override(
     module_name = "score_lifecycle",
-    commit = "e4f9773336e7e483d973cc261b69ae3bc198f368",
     patch_strip = 1,
     patches = [
         "//patches/lifecycle:002-undev-integration-test-deps.patch",
         "//patches/lifecycle:003-dev-only-codeql-pip-hub.patch",
     ],
-    remote = "https://github.com/eclipse-score/lifecycle.git",
+    version = "0.10.0",
 )
 
 bazel_dep(name = "score_logging")
diff --git a/known_good.json b/known_good.json
index b1424a0df2b..787795ffe31 100644
--- a/known_good.json
+++ b/known_good.json
@@ -155,7 +155,7 @@
                         "//..."
                     ]
                 },
-                "hash": "e4f9773336e7e483d973cc261b69ae3bc198f368"
+                "version": "0.10.0"
             },
             "score_logging": {
                 "repo": "https://github.com/eclipse-score/logging.git",

From ede7d936a0ad86ae5fc16a22420648c874549782 Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Tue, 3 Nov 2026 07:20:26 +0000
Subject: [PATCH 60/80] Update lockfile

---
 MODULE.bazel.lock                      | 2 ++
 bazel_common/score_python.MODULE.bazel | 1 -
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 1b06dd0805b..90d8aa9764b 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1148,6 +1148,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_itf/0.6.0/source.json": "59e6efe70c81dbda18631020035bcedc1d92ee86bcae5965989ee5126aa78c92",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_kyron/0.1.6/MODULE.bazel": "e0bb42ba3ec63ae5100940a7b0b76a8d320ff1411814739e84b58ed56bc580d9",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_kyron/0.1.6/source.json": "2912db9d95e1d9ab3ab9bf08c55d312205da122764982a7a9b7b08543346a803",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_lifecycle/0.10.0/MODULE.bazel": "bc9141bcfd7f6e289946faf9b696e381b0ebe4214280728d3409636f93c2e164",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_lifecycle/0.10.0/source.json": "21d156e548e8dade756c493e3c0450d17b3f4bec961c832337c783e3bdb2f3f3",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/MODULE.bazel": "1d00205b2f3f3da1b7ecaf67de1a6a794f98502fd0d2f969160076f9ac3cc241",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/source.json": "5fbfa8bd1decf0a0d08c6ab171e1f882744d068a629896178a8e1591d21e93ce",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
diff --git a/bazel_common/score_python.MODULE.bazel b/bazel_common/score_python.MODULE.bazel
index b59a4efb120..bde54eb9bd3 100644
--- a/bazel_common/score_python.MODULE.bazel
+++ b/bazel_common/score_python.MODULE.bazel
@@ -29,7 +29,6 @@ pip.parse(
     requirements_lock = "//feature_integration_tests/test_cases:requirements.txt.lock",
 )
 use_repo(pip, "pip_score_venv_test")
-
 pip.parse(
     envsubst = ["PIP_INDEX_URL"],
     extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],

From 9dea9410500607fbc2ef6ee264788ee1a302e8af Mon Sep 17 00:00:00 2001
From: Pawel Rutka 
Date: Tue, 3 Nov 2026 07:29:29 +0000
Subject: [PATCH 61/80] Fix formatting

---
 bazel_common/score_python.MODULE.bazel | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bazel_common/score_python.MODULE.bazel b/bazel_common/score_python.MODULE.bazel
index bde54eb9bd3..b59a4efb120 100644
--- a/bazel_common/score_python.MODULE.bazel
+++ b/bazel_common/score_python.MODULE.bazel
@@ -29,6 +29,7 @@ pip.parse(
     requirements_lock = "//feature_integration_tests/test_cases:requirements.txt.lock",
 )
 use_repo(pip, "pip_score_venv_test")
+
 pip.parse(
     envsubst = ["PIP_INDEX_URL"],
     extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],

From eb5e38e2c42a66d7b9405963bb294f24caa1700c Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 08:16:58 +0000
Subject: [PATCH 62/80] Release note generator: link dependable elements of
 modules with own docs

Communication publishes its verification evidence as dependable elements with L.O.B.S.T.E.R. traceability reports in its versioned docs; link them in the module verification report column.
---
 .github/skills/release-note/SKILL.md          |  8 +++
 scripts/release_note/generate_release_note.py | 54 +++++++++++++++++--
 2 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index c392a46d722..12ad13838ed 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -43,6 +43,14 @@ verification report**: a `:doc:` link taken from
 `docs/verification_report/modules/index.rst` (always the latest report in the
 current docs tree), `---` where the module has none (e.g. the platform). Every
 empty table cell is written as `---`.
+Modules that publish their verification evidence as dependable elements (with
+L.O.B.S.T.E.R. traceability reports) in their own versioned docs instead of an
+S-CORE module verification report are listed in `MODULE_DOCS` (today
+Communication). For them the cell lists one link per dependable element, found
+in the `searchindex.js` of the module docs at the pinned tag (pages titled
+"Dependable element: "); `DEPENDABLE_ELEMENT_LABELS` sets the label and
+order (e.g. `mw_com` -> LoLa (mw::com)). An unreleased pin or missing docs give
+a warning and `---`.
 Never write module versions or links by hand.
 
 Image table: the image catalogue (`IMAGES` in the script) lists name,
diff --git a/scripts/release_note/generate_release_note.py b/scripts/release_note/generate_release_note.py
index 74c3af14982..88812712744 100644
--- a/scripts/release_note/generate_release_note.py
+++ b/scripts/release_note/generate_release_note.py
@@ -61,6 +61,18 @@
 
 # Module verification reports are linked from the current docs tree (same convention as the platform report).
 VERIFICATION_INDEX = "docs/verification_report/modules/index.rst"
+# Modules that publish their verification evidence as dependable elements (with L.O.B.S.T.E.R. traceability
+# reports) in their own versioned docs instead of an S-CORE module verification report: key -> docs URL of a tag.
+MODULE_DOCS = {
+    "score_communication": "https://eclipse-score.github.io/communication/{tag}/",
+}
+# Dependable element name -> label in the table, also the display order; other elements keep their name.
+DEPENDABLE_ELEMENT_LABELS = {
+    "mw_com": "LoLa (mw::com)",
+    "dependable_element_message_passing": "Message Passing",
+    "dependable_element_memory_shared": "Shared Memory",
+}
+DEPENDABLE_ELEMENT_TITLE = "Dependable element: "
 EMPTY_CELL = "---"
 # Architecture diagram of the note; components come from the Sphinx-Needs of the checkout's docs.
 DIAGRAM_DIR = "docs/s_core_v_1/releases/_assets"
@@ -238,6 +250,42 @@ def collect(known_good: dict) -> dict[str, list[Entry]]:
     return result
 
 
+def dependable_elements(e: Entry) -> list[tuple[str, str]]:
+    """(label, URL) of the dependable elements in the module's own docs of the pinned release tag."""
+    if e.key not in MODULE_DOCS:
+        return []
+    if not e.tag:
+        print(f"warning: {e.key}: unreleased pin, no versioned docs for its dependable elements", file=sys.stderr)
+        return []
+    base = MODULE_DOCS[e.key].format(tag=e.tag)
+    try:
+        with urllib.request.urlopen(f"{base}searchindex.js", timeout=60) as response:
+            text = response.read().decode()
+    except OSError as err:
+        print(f"warning: {e.key}: no docs at {base} ({err})", file=sys.stderr)
+        return []
+    index = json.loads(text[text.index("(") + 1 : text.rindex(")")])
+    found = {
+        title.removeprefix(DEPENDABLE_ELEMENT_TITLE): f"{base}{doc}.html"
+        for doc, title in zip(index["docnames"], index["titles"], strict=True)
+        if title.startswith(DEPENDABLE_ELEMENT_TITLE) and doc.endswith("/index")
+    }
+    if not found:
+        print(f"warning: {e.key}: no dependable elements in {base}", file=sys.stderr)
+    order = list(DEPENDABLE_ELEMENT_LABELS)
+    names = sorted(found, key=lambda n: (order.index(n) if n in order else len(order), n))
+    return [(DEPENDABLE_ELEMENT_LABELS.get(n, n), found[n]) for n in names]
+
+
+def verification_cell(e: Entry) -> list[str]:
+    if e.verification_doc:
+        return [f"     - :doc:`Verification report <{e.verification_doc}>`"]
+    elements = dependable_elements(e)
+    if not elements:
+        return [f"     - {EMPTY_CELL}"]
+    return ["     - Dependable elements:", ""] + [f"       * `{label} <{url}>`__" for label, url in elements]
+
+
 def render_table(entries: list[Entry], with_verification: bool = False) -> str:
     widths = "25 15 25 35" if with_verification else "30 25 45"
     rows = [
@@ -260,11 +308,7 @@ def render_table(entries: list[Entry], with_verification: bool = False) -> str:
             f"     - {notes}",
         ]
         if with_verification:
-            rows.append(
-                f"     - :doc:`Verification report <{e.verification_doc}>`"
-                if e.verification_doc
-                else f"     - {EMPTY_CELL}"
-            )
+            rows += verification_cell(e)
     return "\n".join(rows)
 
 

From 95593472f19d7885d46248b22d5eda67df495301 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 08:16:58 +0000
Subject: [PATCH 63/80] Release note v0.10: refresh for Lifecycle v0.10.0,
 Bazel 8.8.2, Devcontainer and Communication dependable elements

---
 .../releases/_assets/architecture_v0_10.svg   | 50 ++++++++++--------
 .../releases/release_note_score_v0_10.rst     | 51 ++++++++++++++-----
 2 files changed, 65 insertions(+), 36 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 11b0974e131..0db5c2c3cc6 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -5,13 +5,13 @@
 v0.10.0  ·  planned 2026-11-02  ·  compared to v0.9.0
 5
 target images
-10
+11
 infrastructure modules
 34
 components
 8
 software modules
-PLATFORM, INFRASTRUCTURE& TOOLING10 modules
+PLATFORM, INFRASTRUCTURE& TOOLING11 modules
 
 
 
@@ -29,40 +29,46 @@
 v0.6.0
 
 
-
-Tools
-NEW
-4b48cec
+
+Devcontainer
+NEW
+v1.11.4
 
 
 
-Tooling
-v3.0.1
+Tools
+NEW
+v0.0.4
 
 
 
-Bazel Platforms
-v1.1.0
+Tooling
+v3.0.1
 
 
 
-Test Scenarios
-v0.5.0
+Bazel Platforms
+v1.1.0
 
 
 
-Docs-as-code
-v8.6.0
+Test Scenarios
+v0.5.0
 
 
 
-Process description
-v2.2.2
+Docs-as-code
+v8.6.0
 
 
 
-Bazel CPP Toolchain
-v1.0.3
+Process description
+v2.2.2
+
+
+
+Bazel CPP Toolchain
+v1.0.3
 INTEGRATED SOFTWARE MODULES8 modules
 
 
@@ -151,9 +157,9 @@
 kyron
 
 
-
+
 Lifecycle
-e4f9773
+v0.10.0
 was v0.6.1
 
 Health Monitor
@@ -219,6 +225,6 @@
 
 unreleased (commit pin)
 NEW
-new since v0.9.0  (1)
+new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ bf79c943100
+generated from known_good.json @ ede7d936a0a
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 00a800234b6..9f67d3f91c7 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -75,6 +75,22 @@ is now part of ``known_good.json``. Persistency's test BUILD files load
 regular dependency
 (`#388 `__).
 
+New infrastructure module: Devcontainer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``score_devcontainer`` (`eclipse-score/devcontainer `__)
+is now pinned in ``known_good.json``; the reference integration uses devcontainer
+``1.11.4``, and ``scripts/module_tests.py`` raises the modules' own
+``score_devcontainer`` dependency to this version
+(`#438 `__).
+
+Bazel 8.8.2
+~~~~~~~~~~~
+
+The reference integration builds with Bazel ``8.8.2`` instead of ``8.6.0``
+(``.bazelversion``)
+(`#436 `__).
+
 Integration Strategy (DR-008) test workflow
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -283,12 +299,13 @@ from seconds to milliseconds.
 Lifecycle: Launch Manager configuration schema version 2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The integrated Lifecycle commit makes POSIX RLIMITs configurable for the
-processes started by the Launch Manager and raises the configuration
-``schema_version`` to ``2``; the options ``max_memory_usage`` and
-``max_cpu_usage`` were removed. The Lifecycle showcase configuration of this
-repository was updated accordingly
-(`lifecycle#868 `__,
+Lifecycle ``v0.10.0`` makes POSIX RLIMITs configurable for the processes
+started by the Launch Manager and raises the configuration ``schema_version``
+to ``2``; the options ``max_memory_usage`` and ``max_cpu_usage`` were removed.
+The Lifecycle showcase configuration of this repository was updated
+accordingly
+(`Lifecycle v0.10.0 release notes `__,
+`lifecycle#868 `__,
 `9c0136e `__).
 
 Action required: set ``schema_version`` to ``2`` in Launch Manager
@@ -327,7 +344,11 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
    * - `Communication `__
      - ``v0.6.0``
      - `Release notes `__
-     - ---
+     - Dependable elements:
+
+       * `LoLa (mw::com) `__
+       * `Message Passing `__
+       * `Shared Memory `__
    * - `Persistency `__
      - ``v0.4.0``
      - `Release notes `__
@@ -336,9 +357,9 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
      - ``v0.1.6``
      - `Release notes `__
      - ---
-   * - `Lifecycle `__
-     - ``e4f9773 (unreleased)``
-     - ---
+   * - `Lifecycle `__
+     - ``v0.10.0``
+     - `Release notes `__
      - :doc:`Verification report `
    * - `Logging `__
      - ``v0.2.5``
@@ -369,9 +390,12 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
    * - `ITF (Integration Testing Framework) `__
      - ``v0.6.0``
      - `Release notes `__
-   * - `Tools `__
-     - ``4b48cec (unreleased)``
-     - ---
+   * - `Devcontainer `__
+     - ``v1.11.4``
+     - `Release notes `__
+   * - `Tools `__
+     - ``v0.0.4``
+     - `Release notes `__
    * - `Tooling `__
      - ``v3.0.1``
      - `Release notes `__
@@ -433,7 +457,6 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
 ------------------------
 
 - Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui
-- Modules shown as *(unreleased)* are pinned to a commit and have no registry version; use the commit from ``known_good.json``.
 - The module versions of this release are listed in `known_good.json `__.
 
 

From f8528ba9d1e200306b6d40a0906ea63bd174eac0 Mon Sep 17 00:00:00 2001
From: Valery Lavrov 
Date: Tue, 3 Nov 2026 09:46:10 +0100
Subject: [PATCH 64/80] Bump time with version (#444)

---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 90d8aa9764b..a7b4e208d91 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1170,6 +1170,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_sbom/0.1.1/source.json": "aba932cfdf7a6cc2882fe8cf8cdb2f92ff9b3bbbd8933ba1677c28e548618170",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_test_scenarios/0.5.0/MODULE.bazel": "a8699c4cfa3d49c4c7fde97742d95fb5c3f06f6a12f174c571fd1c696649ca12",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_test_scenarios/0.5.0/source.json": "d18b6ff6600a440be036ad481d1596ec033e302f08ea503c1ffa1bdb37e69859",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_time/0.3.1/MODULE.bazel": "06d40395b6198270ff102c93d4679e11c59c8f450a2aeb9fc7808bb7f20bf1c6",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_time/0.3.1/source.json": "be1507e3f6e4ee2d1261b7ac2c31f6ab04ab58e2a1da7ee5aecdd40fcc517cf6",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/MODULE.bazel": "535296e6cdef55a506c580ca2ce541aa9ddefb354de1a24ab2bd4addc939282b",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.10.0/source.json": "8bda773be264da16d2a82a03ebb737421dd4a35855f1e9a5d03d9722d84c1df5",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/3.0.1/MODULE.bazel": "3d37a2257aff6729ce033a91a4db6885b4b2e2322075d8a6d6b2af1a26e78f91",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 585d6e17930..9327cc22946 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -77,16 +77,15 @@ git_override(
 )
 
 bazel_dep(name = "score_time")
-git_override(
+single_version_override(
     module_name = "score_time",
-    commit = "94efbf738ed6529f2cd859f827c26fd6723951c0",
     patch_strip = 1,
     patches = [
         "//patches/time:003-disable-broken-qnx-ifs-target.patch",
         "//patches/time:004-rename-ubuntu-image-pull.patch",
         "//patches/time:005-use-sanitizer-bool-flags.patch",
     ],
-    remote = "https://github.com/eclipse-score/time.git",
+    version = "0.3.1",
 )
 
 bazel_dep(name = "score_config_management")
diff --git a/known_good.json b/known_good.json
index 787795ffe31..c7f538c7cff 100644
--- a/known_good.json
+++ b/known_good.json
@@ -200,7 +200,7 @@
             },
             "score_time": {
                 "repo": "https://github.com/eclipse-score/time.git",
-                "hash": "94efbf738ed6529f2cd859f827c26fd6723951c0",
+                "version": "0.3.1",
                 "bazel_patches": [
                     "//patches/time:003-disable-broken-qnx-ifs-target.patch",
                     "//patches/time:004-rename-ubuntu-image-pull.patch",

From 842d366755c765cc91e8cadcaa5f37799c7e6d06 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 09:13:58 +0000
Subject: [PATCH 65/80] Release note: assess DR-003 module maturity in the
 architecture diagram

assess_maturity() derives Release/Experimental/Preview per software module from the needs.json and the module docs; the diagram shows it as a badge, the note links DR-003. Skill and agent describe the rule.
---
 .github/agents/release-note.agent.md          |  6 +-
 .github/skills/release-note/SKILL.md          | 28 ++++++++
 scripts/release_note/architecture_diagram.py  | 67 +++++++++++++++++--
 scripts/release_note/generate_release_note.py | 41 ++++++++----
 4 files changed, 121 insertions(+), 21 deletions(-)

diff --git a/.github/agents/release-note.agent.md b/.github/agents/release-note.agent.md
index eb736d0ae27..91999cd282d 100644
--- a/.github/agents/release-note.agent.md
+++ b/.github/agents/release-note.agent.md
@@ -28,6 +28,8 @@ Read it first and follow it exactly.
   scratch with every skeleton run. If a generated part needs other content
   (a new image download, a known issue, a line someone added by hand), change
   the generator (`IMAGES`, `IMAGE_DOWNLOADS`, fixed text) and regenerate.
+- DO NOT set a module's DR-003 maturity by hand; `assess_maturity()` derives it
+  on every run (see the skill). Propose rule changes to the user instead.
 - Pass `--final` only when the user explicitly asks for the final note;
   otherwise the note is a draft (see the skill, "Draft and final").
 - DO NOT overwrite an existing `release_note_score_*.rst` without the user
@@ -56,7 +58,9 @@ Read it first and follow it exactly.
 7. Run the validation checks from the skill.
 8. Report: output path and diagram path, state (draft or final), generator
    warnings, modules with unreleased pins, modules shown with "no components
-   documented" in the diagram,
+   documented" in the diagram, the DR-003 maturity per module (generator line
+   `maturity (DR-003): ...`) with the borderline cases (see the skill, "Module
+   maturity (DR-003)"),
    items left out although they looked relevant, and anything you could not
    verify.
 
diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index 12ad13838ed..574441b66a1 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -138,6 +138,8 @@ Content:
   image table, dashed = experimental).
 - Colour bar: green = released tag, orange = commit pin; NEW = not in the origin
   release.
+- Maturity badge (outlined, bottom right of each software module tile) and a
+  legend line with the count per level, see "Module maturity (DR-003)".
 
 Components come from the Sphinx-Needs of the `needs.json` of the **checked-out
 branch**: the generator runs `bazel build //:needs_json_file` (Bazel caches it
@@ -163,6 +165,30 @@ another ref the components would still come from the checkout.
 Colours follow the S-CORE docs theme (header `#2D1942`); change them only in
 `architecture_diagram.py`.
 
+### Module maturity (DR-003)
+
+Every software module gets exactly one maturity classification of
+[DR-003-Strat](https://github.com/eclipse-score/score/blob/main/docs/design_decisions/strategy/DR-003-strat.md)
+(Release, Experimental, Preview). `assess_maturity()` in
+`architecture_diagram.py` derives it on every run from the same `needs.json`
+and the module docs, so a run from scratch always fills it in; never set it by
+hand. DR-003 leaves the line between minor and major deviations open, so the
+script applies this rule:
+
+| Level | Rule |
+|---|---|
+| Preview | No verification report: neither a `mod_ver_report` need in `modules//` (S-CORE module verification report) nor dependable elements in the module's own docs (`MODULE_DOCS`, L.O.B.S.T.E.R. traceability reports). No quality statement possible. |
+| Experimental | A verification report exists and makes the gaps transparent (untested or uninspected requirements, missing safety analyses or checklists). |
+| Release | Report exists and every component requirement of the module is fully verified (`fully_verifies_back`) and inspected (`valid_inspected`; QM: `valid`). |
+
+The locally built `needs.json` carries no test results, so the script cannot
+assign Release. Before a final note, check the module verification reports of
+the release branch CI docs build (`github-pages-` artifact of "Code Quality
+& Documentation"): report modules that would meet Release, and the borderline
+Experimental modules (report present but no FMEA/DFA, for example). Change the
+rule in `assess_maturity()` only after agreement, never the result. The note
+links DR-003 below the figure (fixed text of the generator).
+
 ## Run from scratch (any release, also for not yet tagged ones)
 
 The procedure is identical for existing and new releases; only the inputs differ.
@@ -315,6 +341,8 @@ Known limits of the evidence:
 - The Overview contains the `.. figure::` of the diagram and the SVG
   `docs/s_core_v_1/releases/_assets/architecture_v_.svg` was
   written by this run (it is committed together with the note).
+- The diagram shows a maturity badge on every software module and the Overview
+  links DR-003; the generator prints the `maturity (DR-003): ...` line.
 - The new note is the last entry of the release-note `toctree` in `releases.rst`.
 - The Download column links every image of `IMAGE_DOWNLOADS` (no generator
   warning about a missing asset upload).
diff --git a/scripts/release_note/architecture_diagram.py b/scripts/release_note/architecture_diagram.py
index 8cd26f81787..f4a2053c5bb 100644
--- a/scripts/release_note/architecture_diagram.py
+++ b/scripts/release_note/architecture_diagram.py
@@ -51,6 +51,9 @@
     "ebclfsa_aarch64": ("EB corbos Linux", "aarch64"),
 }
 
+# Module maturity (DR-003-Strat, eclipse-score/score), assessed by assess_maturity().
+MATURITY_COLORS = {"Release": "#1e7b34", "Experimental": "#b25e00", "Preview": "#6b7a90"}
+
 
 def text_width(s: str, size: float, weight: int = 400) -> float:
     return len(s) * size * (0.64 if weight >= 600 else 0.56)
@@ -90,6 +93,20 @@ def pill(x_right, y, label, color, h=18):
     )
 
 
+def badge_width(label: str) -> float:
+    return 14 + 7.4 * len(label)
+
+
+def badge(x_right, y, label, color, h=16):
+    """Outlined pill, so the maturity does not compete with the filled release/NEW markers."""
+    w = badge_width(label)
+    return (
+        f''
+        + text(x_right - w / 2, y + h / 2 + 3.5, label, 9, 700, color, "middle", extra='letter-spacing="0.8"')
+    )
+
+
 def card_base(x, y, w, h, accent):
     return [
         f' dict[str, list[str]]:
-    """Module key -> component titles, from the Sphinx-Needs `comp` and `mod` needs of a needs.json."""
+def read_needs(path: Path) -> dict[str, dict]:
     data = json.loads(path.read_text())
     versions = data["versions"]
-    needs = versions.get(data.get("current_version", ""), next(iter(versions.values())))["needs"]
+    return versions.get(data.get("current_version", ""), next(iter(versions.values())))["needs"]
+
+
+def load_components(needs: dict[str, dict], entries: list[grn.Entry]) -> dict[str, list[str]]:
+    """Module key -> component titles, from the Sphinx-Needs `comp` and `mod` needs of a needs.json."""
     found: dict[str, dict[str, str]] = {e.key: {} for e in entries}
 
     def owner(need: dict) -> grn.Entry | None:
@@ -150,6 +170,23 @@ def owner(need: dict) -> grn.Entry | None:
     return {key: sorted(comps.values(), key=lambda t: (t.lower(), t)) for key, comps in found.items()}
 
 
+def _inspected(req: dict) -> bool:
+    # QM needs are not formally inspected, so valid is their final state
+    return req.get("status") == "valid_inspected" or (req.get("safety") == "QM" and req.get("status") == "valid")
+
+
+def assess_maturity(needs: dict[str, dict], entries: list[grn.Entry]) -> dict[str, str]:
+    """DR-003 maturity per module, see the release-note skill for the criteria."""
+    result = {}
+    for e in entries:
+        own = [n for n in needs.values() if (n.get("docname") or "").startswith(f"modules/{e.key}/")]
+        has_report = any(n["type"] == "mod_ver_report" for n in own) or bool(grn.dependable_elements(e))
+        reqs = [n for n in own if n["type"] == "comp_req"]
+        complete = bool(reqs) and all(n.get("fully_verifies_back") and _inspected(n) for n in reqs)
+        result[e.key] = "Preview" if not has_report else "Release" if complete else "Experimental"
+    return result
+
+
 def chip_lines(labels: list[str], available: float) -> list[list[tuple[str, float]]]:
     lines: list[list[tuple[str, float]]] = []
     line: list[tuple[str, float]] = []
@@ -174,7 +211,7 @@ def component_layout(entry: grn.Entry, w: float, is_new: bool, note: str, comps:
     return lines, size, chips_y, chips_y + block + 16 + 28
 
 
-def component_tile(x, y, w, h, entry: grn.Entry, is_new: bool, note: str, comps: list[str]):
+def component_tile(x, y, w, h, entry: grn.Entry, is_new: bool, note: str, comps: list[str], maturity: str | None):
     accent = RELEASED if entry.tag else UNRELEASED
     out = card_base(x, y, w, h, accent)
     lines, size, chips_y, _ = component_layout(entry, w, is_new, note, comps)
@@ -201,7 +238,10 @@ def component_tile(x, y, w, h, entry: grn.Entry, is_new: bool, note: str, comps:
         f''
     )
     repo = entry.repo_url.rstrip("/").rsplit("/", 1)[-1]
-    out.append(text(x + 20, y + h - 11, fit(repo, 10, 400, w - 34)[0], 10, 400, FAINT, family=MONO))
+    reserved = badge_width(maturity.upper()) + 8 if maturity else 0
+    out.append(text(x + 20, y + h - 11, fit(repo, 10, 400, w - 34 - reserved)[0], 10, 400, FAINT, family=MONO))
+    if maturity:
+        out.append(badge(x + w - 12, y + h - 23, maturity.upper(), MATURITY_COLORS[maturity]))
     if is_new:
         out.append(pill(x + w - 10, y + 10, "NEW", NEW))
     return "\n".join(out)
@@ -242,6 +282,7 @@ def render(
     ref: str | None,
     ref_label: str,
     components: dict[str, list[str]],
+    maturity: dict[str, str],
 ) -> str:
     old = {grn.KEY_ALIASES.get(e.key, e.key): e for es in origin_groups.values() for e in es}
 
@@ -316,7 +357,7 @@ def history(e: grn.Entry) -> tuple[bool, str | None]:
     for tiles, h in comp_rows:
         x = right_x + 24
         for e, w, is_new, note, comps in tiles:
-            parts.append(component_tile(x, y, w, h + extra, e, is_new, note, comps))
+            parts.append(component_tile(x, y, w, h + extra, e, is_new, note, comps, maturity.get(e.key)))
             x += w + gap
         y += h + extra + gap
 
@@ -349,7 +390,19 @@ def history(e: grn.Entry) -> tuple[bool, str | None]:
     parts.append(
         text(W - M, y + 14, f"generated from known_good.json @ {ref_label}", 11, 400, FAINT, "end", family=MONO)
     )
-    y += 36
+    y += 26
+    if any(e.key in maturity for e in sw):
+        label = "Module maturity (DR-003):"
+        parts.append(text(M, y + 12, label, 12, 400, MUTED))
+        x = M + text_width(label, 12) + 14
+        for level, color in MATURITY_COLORS.items():
+            count = sum(maturity.get(e.key) == level for e in sw)
+            x += badge_width(level.upper())
+            parts.append(badge(x, y, level.upper(), color))
+            parts.append(text(x + 8, y + 12, f"({count})", 12, 400, MUTED))
+            x += 8 + text_width(f"({count})", 12) + 18
+        y += 26
+    y += 10
 
     return (
         f' dict[str, list[Entry]]:
     return result
 
 
-def dependable_elements(e: Entry) -> list[tuple[str, str]]:
-    """(label, URL) of the dependable elements in the module's own docs of the pinned release tag."""
-    if e.key not in MODULE_DOCS:
-        return []
-    if not e.tag:
-        print(f"warning: {e.key}: unreleased pin, no versioned docs for its dependable elements", file=sys.stderr)
-        return []
-    base = MODULE_DOCS[e.key].format(tag=e.tag)
+@functools.cache
+def _dependable_elements(key: str, tag: str | None) -> tuple[tuple[str, str], ...]:
+    if key not in MODULE_DOCS:
+        return ()
+    if not tag:
+        print(f"warning: {key}: unreleased pin, no versioned docs for its dependable elements", file=sys.stderr)
+        return ()
+    base = MODULE_DOCS[key].format(tag=tag)
     try:
         with urllib.request.urlopen(f"{base}searchindex.js", timeout=60) as response:
             text = response.read().decode()
     except OSError as err:
-        print(f"warning: {e.key}: no docs at {base} ({err})", file=sys.stderr)
-        return []
+        print(f"warning: {key}: no docs at {base} ({err})", file=sys.stderr)
+        return ()
     index = json.loads(text[text.index("(") + 1 : text.rindex(")")])
     found = {
         title.removeprefix(DEPENDABLE_ELEMENT_TITLE): f"{base}{doc}.html"
@@ -271,10 +274,15 @@ def dependable_elements(e: Entry) -> list[tuple[str, str]]:
         if title.startswith(DEPENDABLE_ELEMENT_TITLE) and doc.endswith("/index")
     }
     if not found:
-        print(f"warning: {e.key}: no dependable elements in {base}", file=sys.stderr)
+        print(f"warning: {key}: no dependable elements in {base}", file=sys.stderr)
     order = list(DEPENDABLE_ELEMENT_LABELS)
     names = sorted(found, key=lambda n: (order.index(n) if n in order else len(order), n))
-    return [(DEPENDABLE_ELEMENT_LABELS.get(n, n), found[n]) for n in names]
+    return tuple((DEPENDABLE_ELEMENT_LABELS.get(n, n), found[n]) for n in names)
+
+
+def dependable_elements(e: Entry) -> list[tuple[str, str]]:
+    """(label, URL) of the dependable elements in the module's own docs of the pinned release tag."""
+    return list(_dependable_elements(e.key, e.tag))
 
 
 def verification_cell(e: Entry) -> list[str]:
@@ -499,6 +507,9 @@ def render(release: str, origin: str, date: str, status: str, groups: dict[str,
 
    Modules, components and images of the reference integration {release}.
 
+The maturity classification of the software modules (Release, Experimental,
+Preview) is explained in `DR-003-Strat: Module Maturity Classification <{DR_003_URL}>`__.
+
 """,
         _heading("Disclaimer", "-"),
         """
@@ -584,7 +595,10 @@ def write_diagram(args: argparse.Namespace, date: str, groups: dict[str, list[En
     import architecture_diagram
 
     software = [e for e in groups["target_sw"] if e.key != PLATFORM_MODULE]
-    components = architecture_diagram.load_components(args.needs or build_needs(), software)
+    needs = architecture_diagram.read_needs(args.needs or build_needs())
+    components = architecture_diagram.load_components(needs, software)
+    maturity = architecture_diagram.assess_maturity(needs, software)
+    print("maturity (DR-003): " + ", ".join(f"{k}={v}" for k, v in maturity.items()), file=sys.stderr)
     label = _git("rev-parse", "--short", f"{ref or 'HEAD'}^{{commit}}").strip()
     svg = architecture_diagram.render(
         args.release,
@@ -596,6 +610,7 @@ def write_diagram(args: argparse.Namespace, date: str, groups: dict[str, list[En
         ref,
         label,
         components,
+        maturity,
     )
     path = REPO_ROOT / DIAGRAM_DIR / diagram_name(args.release)
     path.parent.mkdir(parents=True, exist_ok=True)

From bfcf14105bd279beb9842dfa83d3cd596c31684e Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 09:53:07 +0000
Subject: [PATCH 66/80] Pin score_config_management by version 0.3.1

Same commit as before (2e213d5, tag v0.3.1), now resolved from the S-CORE registry like score_time.
---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index a7b4e208d91..6423298aff2 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1136,6 +1136,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/source.json": "9797d56e9dd68e9d3e8b674402df2d6d5e2174f84184ca4cbee78fc07dc117d9",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/MODULE.bazel": "02d8915b743ef28130352bd3e5fcfb3356122dd437e5a9d187505fcff7de481b",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.6.0/source.json": "cc35ebd20a90f440ea78658c0bcf755fe7757e9028867b122260fd8f4d8c2b91",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_config_management/0.3.1/MODULE.bazel": "c44485462dd66cde8223d039f9c3c9ab65a4ee4825d89fb47f1e6d4118bcaded",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_config_management/0.3.1/source.json": "a7ba1271d00a98a2f2d545c0ba90cca6dd0984655f02e380a56bccbdeafd2f24",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/MODULE.bazel": "a9945987cab517098513a15943cca2be2a9d3f1fd60740e1207d0b45dfd84480",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cpp_policies/0.1.2/source.json": "73a8de0f893ed4152d9eaf8ed1b465a7d6accc944c921aa430086fc64d3112f1",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.11/MODULE.bazel": "ef4590c417955837ce12549c6de26e008cb2957fe481844a45ae5f3d66e21211",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 9327cc22946..95ace8503f1 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -89,14 +89,13 @@ single_version_override(
 )
 
 bazel_dep(name = "score_config_management")
-git_override(
+single_version_override(
     module_name = "score_config_management",
-    commit = "2e213d5fd030f3f2cd6b7504841b5c7aa6f4a660",
     patch_strip = 1,
     patches = [
         "//patches/config_management:001-expose-mw-com-config.patch",
         "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",
         "//patches/config_management:003-drop-dependable-element-aou-attr.patch",
     ],
-    remote = "https://github.com/eclipse-score/config_management.git",
+    version = "0.3.1",
 )
diff --git a/known_good.json b/known_good.json
index c7f538c7cff..1a5d2ed3946 100644
--- a/known_good.json
+++ b/known_good.json
@@ -230,7 +230,7 @@
             "score_config_management": {
                 "repo": "https://github.com/eclipse-score/config_management.git",
                 "docs": false,
-                "hash": "2e213d5fd030f3f2cd6b7504841b5c7aa6f4a660",
+                "version": "0.3.1",
                 "bazel_patches": [
                     "//patches/config_management:001-expose-mw-com-config.patch",
                     "//patches/config_management:002-migrate-to-persistency-kvs-api.patch",

From e40f7314aaf0ea576b38db94cd66c74d82879dd1 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 09:53:54 +0000
Subject: [PATCH 67/80] Release note v0.10: DR-003 module maturity in the
 architecture diagram

---
 .../releases/_assets/architecture_v0_10.svg   | 21 ++++++++++++++++---
 .../releases/release_note_score_v0_10.rst     |  3 +++
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 0db5c2c3cc6..53ad700add3 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -1,4 +1,4 @@
-
+
 S-CORE Platform v0.10
 Reference integration architecture
 DRAFT
@@ -118,6 +118,7 @@
 VaJson
 
 baselibs
+EXPERIMENTAL
 
 
 
@@ -136,6 +137,7 @@
 mw::com Frontend
 
 communication
+EXPERIMENTAL
 
 
 
@@ -145,7 +147,8 @@
 
 persistency::kvs
 
-persistency
+persiste…
+EXPERIMENTAL
 
 
 
@@ -155,6 +158,7 @@
 no components documented
 
 kyron
+PREVIEW
 
 
 
@@ -167,6 +171,7 @@
 Launch Manager
 
 lifecycle
+EXPERIMENTAL
 
 
 
@@ -179,6 +184,7 @@
 mw::log Backend
 
 logging
+EXPERIMENTAL
 
 
 
@@ -195,6 +201,7 @@
 Time Sync Client
 
 time
+PREVIEW
 
 
 
@@ -204,6 +211,7 @@
 no components documented
 
 config_management
+PREVIEW
 TARGET IMAGESdashed: experimental
 
 Linux
@@ -227,4 +235,11 @@
 NEW
 new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ ede7d936a0a
+generated from known_good.json @ bfcf14105bd
+Module maturity (DR-003):
+RELEASE
+(0)
+EXPERIMENTAL
+(5)
+PREVIEW
+(3)
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 9f67d3f91c7..47a97cdbd9f 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -49,6 +49,9 @@ previous platform release (v0.9.0).
 
    Modules, components and images of the reference integration v0.10.0.
 
+The maturity classification of the software modules (Release, Experimental,
+Preview) is explained in `DR-003-Strat: Module Maturity Classification `__.
+
 
 📜 Disclaimer
 --------------

From cf0f846361955740dbf8e84029be35dad6afbc9f Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 11:48:42 +0000
Subject: [PATCH 68/80] Release note: consider all module releases in range and
 classify like baselibs

- Release notes column lists every GitHub release between origin and release
  pin (contained in the new ref, not in the old one).
- collect_changes.py reads the 'What's Changed' scope of each release and
  marks PRs to review or to skip.
- Skill: Baselibs-style classification, release range rules and hash pins
  always shown as unreleased commit.
---
 .github/agents/release-note.agent.md          |  4 +-
 .github/skills/release-note/SKILL.md          | 77 ++++++++++++++--
 scripts/release_note/collect_changes.py       | 91 ++++++++++++++-----
 scripts/release_note/generate_release_note.py | 76 ++++++++++++++--
 4 files changed, 205 insertions(+), 43 deletions(-)

diff --git a/.github/agents/release-note.agent.md b/.github/agents/release-note.agent.md
index 91999cd282d..78673879d63 100644
--- a/.github/agents/release-note.agent.md
+++ b/.github/agents/release-note.agent.md
@@ -57,7 +57,9 @@ Read it first and follow it exactly.
    no glob).
 7. Run the validation checks from the skill.
 8. Report: output path and diagram path, state (draft or final), generator
-   warnings, modules with unreleased pins, modules shown with "no components
+   warnings, modules with unreleased pins (every `hash` pin counts as
+   unreleased, even if a tag points at the commit; propose a `version` pin),
+   modules shown with "no components
    documented" in the diagram, the DR-003 maturity per module (generator line
    `maturity (DR-003): ...`) with the borderline cases (see the skill, "Module
    maturity (DR-003)"),
diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index 574441b66a1..4b1ea663f03 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -37,8 +37,9 @@ heading (the script also lengthens the underline for the double-width emoji).
 The title and the `~~~` item subsections have no icon.
 
 Module tables have the columns **Name** (link to the repo at the pinned
-tag/commit), **Version**, **Release notes** (link to the GitHub release of that
-tag). The Integrated Software Modules table has a fourth column **Module
+tag/commit), **Version**, **Release notes** (one link per module release since
+the origin release, oldest first, see "Release range"; a module unchanged since
+the origin shows its current release). The Integrated Software Modules table has a fourth column **Module
 verification report**: a `:doc:` link taken from
 `docs/verification_report/modules/index.rst` (always the latest report in the
 current docs tree), `---` where the module has none (e.g. the platform). Every
@@ -103,9 +104,13 @@ python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin
 Behaviour worth knowing:
 
 - Tags are resolved with `git ls-remote --tags` on every module repo. A
-  `version` pin maps to `v` or ``; a `hash` pin maps to a tag only if
-  one points exactly at that commit, otherwise the row shows ` (unreleased)`,
-  links the commit and has no release-notes link.
+  `version` pin maps to `v` or `` and is shown as that release. A
+  `hash` pin is never shown as a release, even if a tag points at the same
+  commit (the integration does not use the registry version): the row shows
+  ` (unreleased)` and links the commit, and the diagram marks it as a
+  commit pin. A tag on that commit only bounds the release range, so the
+  *Release notes* column still lists the releases the commit contains. Report
+  such modules and propose to pin them by `version`.
 - The Release Date is always the due date of the milestone `v.`
   (for `vX.Y.0`: milestone `vX.Y`) in eclipse-score/score. Do not pass `--date`;
   it only exists as an override when the user asks for a different date. If
@@ -273,12 +278,56 @@ branch, with their changed files; commits that only touch
 that were removed or renamed
 (per directory, without `docs/` and `patches/`), and one section per changed
 module with the **breaking** and **new-feature** parts of the module's own
-GitHub release notes. For every
+GitHub release notes, for **every** module release since the origin release
+("Release range" below), not only the pinned one. For every
 breaking part the script lists "impact hints": places in this repository that
 mention a flag, label or symbol named there. `--module ` restricts the run,
 `--module-prs` adds the merged PRs of a module (slow, only for a deep dive),
 `--include-infra` adds the infrastructure modules.
 
+Release range: `releases_between()` in `generate_release_note.py` is shared by
+the tables and the collector, so both always name the same releases. Candidates
+are the published GitHub releases between the origin tag and the pinned tag; a
+release counts if the pinned commit contains its tag and the origin commit does
+not (GitHub compare), so releases on maintenance branches are skipped and a
+release is still found when the origin was tagged on a side commit. Tags
+without GitHub release have no release notes and are not listed.
+
+Per release the collector prints the sections whose heading names breaking
+changes, deprecations, removals, public API changes, migrations or features,
+then "Candidate lines" (list items elsewhere in a hand-written text that mention
+a removal, rename, deprecation, breaking change or feature), and then the
+**release scope**: every PR of the release's generated "What's Changed" list,
+marked `review` or `skip? ()`. Read all releases of the range; a
+breaking change of an intermediate release is still breaking for an integrator
+coming from the origin release.
+
+Module releases are classified like the Baselibs release-notes skill
+(eclipse-score/baselibs `.agents/skills/release-notes-skill/SKILL.md`) does it:
+
+1. **Scope.** The "What's Changed" list is the scope of a module release. If a
+   release has no such list ("scope cannot be determined"), use its curated
+   sections and candidate lines only, and say so in the report; do not
+   reconstruct the scope from `git log` or a comparison view.
+2. **Read every PR to review.** Fetch title, body and author
+   (`GET /repos///pulls/` with `GITHUB_TOKEN`; `gh` is not
+   required). When title and body do not support a precise statement, read the
+   diff (`GET .../pulls/` with `Accept: application/vnd.github.diff`, or
+   `git show` in a local clone) before writing about it.
+3. **Skip**: CI/workflow-only PRs, dependency bumps (bots such as
+   `eclipse-score-bot`, `renovate`, `dependabot`), Bazel visibility-only
+   changes, requirements/doc-only PRs, internal repo-sync or agent-tooling PRs,
+   and anything that nets to zero across the range (a change reverted again).
+   The `skip?` marks of the collector are title-based hints; confirm them.
+4. **Notable**: breaking API or behaviour changes and deprecations, new public
+   features or libraries, and anything that continues or completes a change an
+   earlier release note announced (for example a deprecation in one release
+   and the removal in a later one; the earlier platform release note's
+   announcements count too). User-visible bug fixes are notable for the module,
+   but this note has no bug-fix chapter; they stay in the module release notes.
+5. **Platform filter.** Of the notable items, only those that pass the
+   platform-level rules below go into the note.
+
 Classification:
 
 - Impact hints are leads, not verdicts. A hint is only meaningful if the hit really
@@ -322,14 +371,22 @@ Rules:
 - Remove **Breaking Changes** only if there is none; never leave an `AI-FILL`
   marker behind (`grep -n AI-FILL ` must be empty).
 - Report items you left out although they looked relevant, and modules without
-  GitHub releases in the range.
+  releases in the range.
 
 Known limits of the evidence:
 
 - Only some modules (for example Baselibs) structure their GitHub release notes
-  with "Breaking changes" and "New features" sections. For the others the
-  collector prints "No breaking/new-feature sections found"; there is then no
-  module-level evidence, and you must say so in the report instead of guessing.
+  with "Breaking changes" and "New features" sections; others only have
+  GitHub's generated PR list, which is then the only module-level evidence. If
+  the collector prints "No breaking/new-feature items and no PR list", there is
+  no module-level evidence, and you must say so in the report instead of
+  guessing.
+- A release scope can be long (Persistency v0.4.0: 176 PRs). Reading every
+  `review` PR is required; report how many PRs per module you read.
+- GitHub generates "What's Changed" against the previous tag it finds; when the
+  origin was tagged on a side commit (Persistency v0.3.5), the list can contain
+  PRs that were already in the origin release. Drop a PR if the origin release
+  note already lists it.
 - Hash-pinned modules (` (unreleased)`) have releases only up to their
   latest tag; changes after it are not covered by release notes.
 - Impact hints search `known_good.json`, `.bazelrc`, `bazel_common`, `patches`,
diff --git a/scripts/release_note/collect_changes.py b/scripts/release_note/collect_changes.py
index bb577817cb8..5529752d8df 100644
--- a/scripts/release_note/collect_changes.py
+++ b/scripts/release_note/collect_changes.py
@@ -225,7 +225,22 @@ def render_module(name: str, slug: str, base: str, head: str, own_repo: bool = F
 
 
 SECTION_HEADING = re.compile(r"^(#{2,4})\s+(.*?)\s*$", re.M)
-WANTED_SECTION = re.compile(r"breaking|deprecat|incompatible|new feature|features", re.I)
+WANTED_SECTION = re.compile(
+    r"breaking|deprecat|incompatible|new feature|features|public api|api changes|removed|migration|upgrade", re.I
+)
+# Release texts without such sections (e.g. GitHub's generated "What's Changed" list) still name these items.
+CANDIDATE_LINE = re.compile(
+    r"breaking|deprecat|\bremov|\brenam|incompatib|no longer|\bfeat\b|feat\(|new feature|adds? support|introduc", re.I
+)
+# One entry of GitHub's generated "What's Changed" list; that list is the scope of a release.
+SCOPE_PR = re.compile(r"^[*-]\s+(.+?) by @(\S+) in (https://github\.com/\S+?/pull/\d+)\s*$", re.M)
+# Skip criteria of the Baselibs release-notes skill, applied to the PR title only; they are hints, not verdicts.
+SKIP_HINTS = [
+    (re.compile(r"^(ci|build\(ci\)|chore\(ci\))\b|\bworkflows?\b|github actions?|\bci:", re.I), "CI/workflow"),
+    (re.compile(r"^docs?\b|^docs?\(|documentation|requirements?\b|readme|traceability", re.I), "docs/requirements"),
+    (re.compile(r"visibility", re.I), "Bazel visibility"),
+    (re.compile(r"^revert", re.I), "revert, check the net effect"),
+]
 IMPACT_PATHS = [
     "known_good.json",
     ".bazelrc",
@@ -250,6 +265,34 @@ def release_sections(body: str) -> list[tuple[str, str]]:
     return sections
 
 
+def candidate_lines(body: str, sections: list[tuple[str, str]]) -> list[str]:
+    """List items outside the wanted sections and the PR list that look like a feature or a breaking change."""
+    covered = "\n".join(text for _, text in sections)
+    lines = (line.strip() for line in body.splitlines())
+    return [
+        l
+        for l in lines
+        if l.startswith(("-", "*")) and CANDIDATE_LINE.search(l) and l not in covered and not SCOPE_PR.match(l)
+    ][:30]
+
+
+def skip_hint(title: str, author: str) -> str | None:
+    if any(b in author.lower() for b in BOT_AUTHORS) or NOISE_TITLE.search(title):
+        return "dependency bump"
+    return next((reason for pattern, reason in SKIP_HINTS if pattern.search(title)), None)
+
+
+def release_scope(body: str) -> list[str]:
+    """Every PR of the release's "What's Changed" list, PRs to review first, then those with a skip hint."""
+    review, skip = [], []
+    for title, author, url in dict.fromkeys(SCOPE_PR.findall(body)):
+        reason = skip_hint(title, author)
+        (skip if reason else review).append(
+            f"- skip? ({reason}) {title} ({url})" if reason else f"- review: {title} (@{author}, {url})"
+        )
+    return review + skip
+
+
 def impact_hints(text: str, module_key: str) -> list[str]:
     """Lines in this repository that mention an identifier named in backticks and belong to the module."""
     short = module_key.removeprefix("score_")
@@ -276,35 +319,33 @@ def impact_hints(text: str, module_key: str) -> list[str]:
     return hints[:8]
 
 
-def in_range(slug: str, old_ref: str, tag: str, new_ref: str) -> bool:
-    """True if the tag commit is after old_ref and contained in new_ref (excludes other maintenance branches)."""
-    after_old = api(f"/repos/{slug}/compare/{old_ref}...{tag}")["status"] == "ahead"
-    return after_old and api(f"/repos/{slug}/compare/{tag}...{new_ref}")["status"] in ("ahead", "identical")
-
-
 def render_release_notes(name: str, slug: str, old: grn.Entry, new: grn.Entry) -> str:
-    start = ref_date(slug, old.ref)
-    # A release published before the old pin cannot contain later commits; the range itself is decided by the tag commit.
-    releases = [
-        r
-        for r in paged(f"/repos/{slug}/releases")
-        if r.get("published_at")
-        and r["published_at"] > start
-        and not r["draft"]
-        and in_range(slug, old.ref, r["tag_name"], new.ref)
-    ]
+    """Release notes of every module release since the origin pin (same range as the module tables)."""
+    tags = grn.releases_between(old, new)
     out = [f"## {name}: {old.version_label} -> {new.version_label} ({slug}), module release notes", ""]
-    if not releases:
-        out += ["No GitHub releases in this range.", ""]
-    for release in sorted(releases, key=lambda r: r["published_at"]):
-        out += [f"### {release['tag_name']} ({release['published_at'][:10]}, {release['html_url']})", ""]
-        sections = release_sections(release.get("body") or "")
-        if not sections:
-            out += ["No breaking/new-feature sections found in the release text.", ""]
+    if not tags:
+        out += ["No releases in this range.", ""]
+    for tag in tags:
+        release = api(f"/repos/{slug}/releases/tags/{tag}")
+        out += [f"### {tag} ({(release.get('published_at') or '')[:10]}, {release['html_url']})", ""]
+        body = release.get("body") or ""
+        sections = release_sections(body)
+        candidates = candidate_lines(body, sections)
+        scope = release_scope(body)
+        if not sections and not candidates and not scope:
+            out += ["No breaking/new-feature items and no PR list found in the release text.", ""]
         for heading, text in sections:
             out += [f"#### {heading}", text, ""]
-            if re.search(r"breaking|deprecat|incompatible", heading, re.I):
+            if re.search(r"breaking|deprecat|incompatible|removed|api", heading, re.I):
                 out += [f"- impact hint: {hint}" for hint in impact_hints(text, new.key)] + [""]
+        if candidates:
+            out += ["#### Candidate lines (outside the sections above)", *candidates, ""]
+            out += [f"- impact hint: {hint}" for hint in impact_hints("\n".join(candidates), new.key)] + [""]
+        if scope:
+            reviewed = sum(line.startswith("- review") for line in scope)
+            out += [f'#### Release scope: {len(scope)} PRs of "What\'s Changed", {reviewed} to review', *scope, ""]
+        else:
+            out += ["#### Release scope: no PR list in the release text, scope cannot be determined", ""]
     return "\n".join(out)
 
 
diff --git a/scripts/release_note/generate_release_note.py b/scripts/release_note/generate_release_note.py
index 846dbd476ae..3fb78d81c16 100644
--- a/scripts/release_note/generate_release_note.py
+++ b/scripts/release_note/generate_release_note.py
@@ -158,6 +158,7 @@ class Entry:
     ref: str  # tag or commit used for the source link
     pin: str  # version or hash as written in known_good.json
     verification_doc: str | None = None  # absolute Sphinx doc path of the module verification report
+    at_tag: str | None = None  # tag on the pinned commit of a hash pin; only bounds the release range
 
     @property
     def source_url(self) -> str:
@@ -208,6 +209,52 @@ def _version_key(tag: str) -> tuple[int, ...]:
     return tuple(int(p) for p in re.findall(r"\d+", tag))
 
 
+@functools.cache
+def _contains(slug: str, ref: str, tag: str) -> bool:
+    """True if the commit ref contains the tag commit (GitHub compare: ref is ahead of or identical to tag)."""
+    return _github_get(f"/repos/{slug}/compare/{tag}...{ref}")["status"] in ("ahead", "identical")
+
+
+@functools.cache
+def _github_releases(slug: str) -> tuple[str, ...]:
+    """Tag names of the published (non-draft) GitHub releases of a repository."""
+    tags: list[str] = []
+    for page in range(1, 20):
+        batch = _github_get(f"/repos/{slug}/releases?per_page=100&page={page}")
+        tags += [r["tag_name"] for r in batch if not r["draft"]]
+        if len(batch) < 100:
+            break
+    return tuple(tags)
+
+
+def releases_between(old: Entry | None, new: Entry) -> list[str]:
+    """Tags of the GitHub releases after the origin pin up to the new pin, oldest first.
+
+    Decided by commit containment, not by date, so releases on maintenance branches are skipped and a release
+    whose origin was tagged on a side commit is still found.
+    """
+    if old is None or old.pin == new.pin:
+        return [new.tag] if new.tag else []
+    low = _version_key(old.tag or old.at_tag) if old.tag or old.at_tag else None
+    high = _version_key(new.tag or new.at_tag) if new.tag or new.at_tag else None
+    slug = new.repo_url.removeprefix("https://github.com/")
+    try:
+        return sorted(
+            (
+                tag
+                for tag in _github_releases(slug)
+                if (low is None or _version_key(tag) > low)
+                and (high is None or _version_key(tag) <= high)
+                and _contains(slug, new.ref, tag)
+                and not _contains(slug, old.ref, tag)
+            ),
+            key=_version_key,
+        )
+    except OSError as err:
+        print(f"warning: {new.key}: cannot compare releases ({err}), listing the current one only", file=sys.stderr)
+        return [new.tag] if new.tag else []
+
+
 def resolve(key: str, module: dict, cache: dict[str, dict[str, str]]) -> Entry:
     repo = module["repo"]
     repo_url = repo.removesuffix(".git")
@@ -224,8 +271,8 @@ def resolve(key: str, module: dict, cache: dict[str, dict[str, str]]) -> Entry:
 
     commit = module["hash"]
     matches = sorted((t for t, c in tags.items() if c == commit), key=_version_key)
-    tag = matches[-1] if matches else None
-    return Entry(key, name, repo_url, tag, tag or commit, commit)
+    # A hash pin is not a registry release, even if a tag points at the commit.
+    return Entry(key, name, repo_url, None, commit, commit, at_tag=matches[-1] if matches else None)
 
 
 def verification_docs() -> dict[str, str]:
@@ -294,7 +341,7 @@ def verification_cell(e: Entry) -> list[str]:
     return ["     - Dependable elements:", ""] + [f"       * `{label} <{url}>`__" for label, url in elements]
 
 
-def render_table(entries: list[Entry], with_verification: bool = False) -> str:
+def render_table(entries: list[Entry], origin: dict[str, Entry], with_verification: bool = False) -> str:
     widths = "25 15 25 35" if with_verification else "30 25 45"
     rows = [
         "",
@@ -309,7 +356,8 @@ def render_table(entries: list[Entry], with_verification: bool = False) -> str:
     if with_verification:
         rows.append("     - Module verification report")
     for e in entries:
-        notes = f"`Release notes <{e.release_notes_url}>`__" if e.release_notes_url else EMPTY_CELL
+        tags = releases_between(origin.get(KEY_ALIASES.get(e.key, e.key)), e)
+        notes = " · ".join(f"`{t} <{e.repo_url}/releases/tag/{t}>`__" for t in tags) or EMPTY_CELL
         rows += [
             f"   * - `{e.name} <{e.source_url}>`__",
             f"     - ``{e.version_label}``",
@@ -456,7 +504,15 @@ def diagram_name(release: str) -> str:
     return "architecture_v" + "_".join(release.removeprefix("v").split(".")[:2]) + ".svg"
 
 
-def render(release: str, origin: str, date: str, status: str, groups: dict[str, list[Entry]], ref: str | None) -> str:
+def render(
+    release: str,
+    origin: str,
+    date: str,
+    status: str,
+    groups: dict[str, list[Entry]],
+    ref: str | None,
+    origin_groups: dict[str, list[Entry]],
+) -> str:
     short = ".".join(release.removeprefix("v").split(".")[:2])
     doc_id = "v" + short.replace(".", "")
     title = f"S-CORE Platform v{short} release note" + (" (DRAFT)" if status == "draft" else "")
@@ -532,11 +588,17 @@ def render(release: str, origin: str, date: str, status: str, groups: dict[str,
 - **Release notes:** `Reference integration release notes <{release_url}/releases/tag/{release}>`__
 - **Platform Verification Report:** :need:`doc__platform_verification_report_latest`
 
+The *Release notes* column of the module tables links every release of a module
+since {origin}, oldest first; modules unchanged since {origin} show their current
+release.
+
 """,
     ]
 
+    old = {KEY_ALIASES.get(e.key, e.key): e for entries in origin_groups.values() for e in entries}
     for group, title_text in SECTIONS.items():
-        parts += [_heading(title_text, "-"), render_table(groups[group], with_verification=group == "target_sw") + "\n"]
+        table = render_table(groups[group], old, with_verification=group == "target_sw")
+        parts += [_heading(title_text, "-"), table + "\n"]
     parts += [_heading("Images", "-"), render_images(release, ref) + "\n"]
 
     unreleased = any(e.tag is None for entries in groups.values() for e in entries)
@@ -649,7 +711,7 @@ def main() -> None:
     else:
         date = args.date or milestone_date(args.release)
         status = "valid" if args.final else "draft"
-        text = render(args.release, args.origin, date, status, groups, ref)
+        text = render(args.release, args.origin, date, status, groups, ref, collect(load_known_good(args.origin)))
         write_diagram(args, date, groups, ref)
 
     if args.output:

From 765a045859f8eecda5faf5559a84679e0bb4719c Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 11:48:43 +0000
Subject: [PATCH 69/80] Release note v0.10: regenerate features and breaking
 changes from all module releases

---
 .../releases/_assets/architecture_v0_10.svg   |   6 +-
 .../releases/release_note_score_v0_10.rst     | 300 ++++++++++++++----
 2 files changed, 250 insertions(+), 56 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 53ad700add3..0faeeb96bd4 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -174,9 +174,9 @@
 EXPERIMENTAL
 
 
-
+
 Logging
-v0.2.5
+cda5a5b
 was v0.2.4
 
 Datarouter
@@ -235,7 +235,7 @@
 NEW
 new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ bfcf14105bd
+generated from known_good.json @ e40f7314aaf
 Module maturity (DR-003):
 RELEASE
 (0)
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 47a97cdbd9f..440ad12081e 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -118,6 +118,9 @@ integration
   download Ubuntu snapshot packages from a mirror first
   (`#429 `__).
 
+This implements the parts of DR-008 that the v0.9 release note left for a
+follow-up release.
+
 Software Bill of Materials (SBOM)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -163,6 +166,21 @@ The Logging tests run after fixing the packaging of the datarouter
 configuration
 (`#387 `__).
 
+Qualified coverage tool in the modules
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Baselibs, Kyron, Persistency and Time measure their coverage with the qualified
+``score_coverage`` module
+(`eclipse-score/coverage_tool `__),
+which replaces the coverage pipeline of ``score_tooling``. One
+``bazel coverage --config=llvm_cov`` run reports line and branch coverage for
+C++ and Rust, lists untested files with 0 % and supports coverage
+justifications
+(`baselibs#584 `__,
+`kyron#175 `__,
+`persistency#450 `__,
+`time#235 `__).
+
 Lifecycle control interface for State Managers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -170,6 +188,39 @@ Lifecycle provides the new ``ILmControl`` API, with which State Managers
 communicate with the Launch Manager over ``mw::com``
 (`Lifecycle v0.8.0 release notes `__).
 
+Logging: Linux syslog backend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``mw::log`` has a Linux ``syslog(3)`` backend for ``LogMode::kSystem``. It uses
+the new ``score::os::Syslog`` wrapper of Baselibs
+(`logging#271 `__,
+`baselibs#502 `__).
+
+ITF: QEMU plugin for Linux images
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The QEMU plugin of ITF ``v0.6.0`` boots Linux images in addition to QNX images
+(EB corbos Linux for aarch64 and Ubuntu, with image definitions from
+``os_images``). It accepts an additional disk image with the test binaries and
+their data and has a hook for extra QEMU arguments
+(`itf#123 `__,
+`itf#135 `__,
+`itf#139 `__,
+`itf#122 `__).
+
+Module maturity classification (DR-003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The architecture diagram of this release note shows the maturity of each
+software module (Release, Experimental, Preview) as defined in
+`DR-003-Strat `__.
+The level is derived from the documentation of the module: without a module
+verification report and without dependable element documentation a module is
+Preview; if all its component requirements are fully verified and inspected it
+is Release; otherwise it is Experimental. This follows up on the maturity levels
+announced in the v0.8 release note
+(`842d366 `__).
+
 Documentation and reports
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -183,6 +234,9 @@ Documentation and reports
   (`#342 `__,
   `#358 `__,
   `#373 `__).
+- The Platform Verification Report uses the ``platform_verification_report``
+  template of Docs-as-code
+  (`Docs-as-code v8.2.0 release notes `__).
 - The Overall Status page was replaced by the Release-wide Progress Overview
   next to the release notes, with release-over-release charts per module
   (`#392 `__).
@@ -235,11 +289,12 @@ Action required: update references to the old image paths in derived images.
 Platform: stakeholder requirement IDs renamed
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Platform ``v0.7.4`` renamed ``stkh_req__dependability__safety_features_1`` to
+Platform ``v0.7.3`` gave the safety stakeholder requirements named IDs instead
+of numbers, for example ``stkh_req__dependability__safety_features_1`` became
 ``stkh_req__dependability__health_management``. Tests that still link the old
 ID make the documentation build fail with an unknown-link warning
-(`5d09c1b `__,
-`Platform v0.7.4 release notes `__).
+(`score#3286 `__,
+`5d09c1b `__).
 
 Action required: link tests to the new stakeholder requirement IDs.
 
@@ -252,13 +307,82 @@ The ``--@score_baselibs//score/json:writer_library`` flag was removed;
 repository still sets in ``.bazelrc`` and ``known_good.json``. The written JSON
 differs (for example ``true``/``false`` instead of ``1``/``0`` and different
 float formatting), which is why two Configuration Management unit tests are
-excluded in ``known_good.json``
-(`Baselibs v0.2.15 `__,
-`Baselibs v0.2.16 `__,
+excluded in ``known_good.json``. In v0.2.17 the ``VajsonParser`` class and the
+``vajson_parser`` target were removed; ``JsonParser`` and ``JsonWriter`` keep
+their interfaces
+(`baselibs#660 `__,
+`baselibs#675 `__,
+`baselibs#677 `__,
 `312fde3 `__).
 
 Action required: remove the ``base_library`` and ``writer_library`` flags from
-build configurations and do not compare JSON output against the old format.
+build configurations, use ``JsonParser`` instead of ``VajsonParser`` and do not
+compare JSON output against the old format.
+
+Baselibs: deprecated APIs and targets removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Baselibs removed deprecated or unused APIs that other modules had to migrate
+away from, for example Persistency from ``score::ResultBlank`` and Logging from
+``STRUCT_VISITABLE``
+(`persistency#455 `__,
+`logging#343 `__):
+
+- The type aliases ``score::Blank`` and ``score::ResultBlank`` and the macros
+  ``STRUCT_VISITABLE``, ``STRUCT_TRACEABLE``, ``MEMCPY_SERIALIZABLE`` and
+  ``MEMCPY_SERIALIZABLE_IF`` (v0.2.16)
+  (`baselibs#623 `__).
+- The deprecated ``//src`` aliases and the string and atomic shims in
+  ``//score/memory`` (v0.2.14)
+  (`baselibs#598 `__).
+- ``//score/datetime_converter``, the ``score/os`` cpuid, file stream, make-dev
+  and ``select`` wrappers (v0.2.13), the Linux ``pthread_setaffinity_np``
+  wrapper and deprecated QNX ``ChannelCreate`` and ``TimerTimeout`` overloads
+  (v0.2.16)
+  (`baselibs#471 `__,
+  `baselibs#535 `__,
+  `baselibs#536 `__,
+  `baselibs#703 `__).
+- ``Synchronized::WithLock`` is deprecated in favour of the monadic functions of
+  ``LockedPtr`` (v0.2.17)
+  (`baselibs#761 `__).
+
+With Baselibs v0.2.16 this repository adds a ``safe_math`` dependency to
+Communication by patch
+(`7b91874 `__).
+
+Action required: use ``void``/``score::Result`` and the ``SCORE_*``
+macros, depend on the ``//score`` targets and replace the removed OS wrappers
+and ``WithLock``.
+
+Communication: removed deprecated API and exception specifications
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Communication ``v0.5.0`` and ``v0.6.0`` change public ``mw::com`` APIs that
+applications use directly
+(`Communication v0.5.0 release notes `__,
+`Communication v0.6.0 release notes `__):
+
+- ``GenericProxyEvent::GetSampleSize()``, deprecated in ``v0.5.0``, was removed
+  in ``v0.6.0``; use ``GetDataTypeSizeInfo().Size()``
+  (`communication#997 `__).
+- Functions that can propagate exceptions are no longer ``noexcept``:
+  ``GenericProxyEvent::SetReceiveHandler``, ``UnsetReceiveHandler`` and
+  ``Unsubscribe`` (``v0.5.0``), ``GenericSkeleton::StopOfferService()``,
+  ``GenericSkeletonEvent::Send()`` and ``GenericSkeletonEvent::Notify()``
+  (``v0.6.0``)
+  (`communication#1202 `__,
+  `communication#1232 `__).
+- The aggregate Bazel target ``//score/memory/shared:types`` was removed
+  (`communication#1487 `__).
+- ``tracing::TypeErasedSamplePtr`` was replaced by ``impl::SamplePtr``
+  (``v0.5.0``)
+  (`communication#1229 `__).
+
+Action required: replace ``GetSampleSize()`` and ``TypeErasedSamplePtr``, do not
+rely on ``noexcept`` of the listed functions and depend on the specific
+``//score/memory/shared`` sub-targets (for example ``:offset_ptr``,
+``:vector``, ``:string``).
 
 Persistency: KVS API and file format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -281,41 +405,106 @@ directly
   ``KvsBuilder`` flags became enums (``Defaults``, ``KvsLoad``,
   ``WorkingDir``). Configuration Management is adapted by a patch in this
   repository
-  (`3467044 `__).
+  (`persistency#461 `__,
+  `persistency#562 `__,
+  `3467044 `__).
+- Deprecated, still available: the namespace ``score::mw::per::kvs`` (now
+  ``score::kvs``), the old ``*.hpp`` headers, the snake_case method names (now
+  PascalCase) and the constants and enumerators without ``k`` prefix
+  (`persistency#562 `__,
+  `persistency#564 `__,
+  `persistency#614 `__).
+- Keys must be non-empty, consist of printable ASCII characters and be at most
+  32 bytes long. The C++ and Rust KVS return ``InvalidKey`` for other keys,
+  and loading a file with such a key fails
+  (`persistency#308 `__,
+  `persistency#508 `__,
+  `persistency#509 `__).
+- The KVS stores its files atomically with the permissions ``640``
+  (`persistency#503 `__).
 
 Action required: rename ``reset_key`` calls, convert defaults files to the
-tagged envelope and update the KVS includes and builder calls.
+tagged envelope, update the KVS includes, builder calls and names, keep keys
+within the allowed characters and length and check that processes reading KVS
+files of another user still have access.
 
-Lifecycle: Launch Manager configuration in milliseconds
+Lifecycle: Launch Manager configuration and control API
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Lifecycle ``v0.9.0`` renamed all duration fields of the Launch Manager
-configuration to integer milliseconds, for example ``transition_timeout`` to
-``transition_timeout_ms`` and ``reporting_cycle`` to ``reporting_cycle_ms``.
-Configurations with the old keys fail the schema validation
+Lifecycle ``v0.7.0`` to ``v0.10.0`` change the Launch Manager configuration
+and its control interface. Configurations with old keys fail the schema
+validation; the Lifecycle showcase configuration of this repository was
+updated accordingly
 (`a575ce6 `__,
-`Lifecycle v0.9.0 release notes `__).
+`9c0136e `__):
+
+- ``v0.7.0``: all durations are configured in milliseconds, and the keys get
+  the suffix ``_ms``, for example ``transition_timeout_ms`` and
+  ``reporting_cycle_ms``
+  (`lifecycle#637 `__).
+- ``v0.8.0``: ``ILmControl`` replaces ``ControlClient``. The top-level
+  ``fallback_run_target`` is mandatory, ``number_of_attempts`` is limited to
+  ``255``, and ``application_type: Reporting`` only allows the ready condition
+  ``Running``
+  (`Lifecycle v0.8.0 release notes `__).
+- ``v0.9.0``: ``deployment_config.ready_recovery_action`` is deprecated and
+  will be removed with the next release
+  (`Lifecycle v0.9.0 release notes `__).
+- ``v0.10.0``: the configuration ``schema_version`` is ``2``; POSIX RLIMITs
+  replace the options ``max_memory_usage`` and ``max_cpu_usage``
+  (`lifecycle#868 `__,
+  `Lifecycle v0.10.0 release notes `__).
 
 Action required: rename the duration fields to ``*_ms`` and convert the values
-from seconds to milliseconds.
-
-Lifecycle: Launch Manager configuration schema version 2
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Lifecycle ``v0.10.0`` makes POSIX RLIMITs configurable for the processes
-started by the Launch Manager and raises the configuration ``schema_version``
-to ``2``; the options ``max_memory_usage`` and ``max_cpu_usage`` were removed.
-The Lifecycle showcase configuration of this repository was updated
-accordingly
-(`Lifecycle v0.10.0 release notes `__,
-`lifecycle#868 `__,
-`9c0136e `__).
-
-Action required: set ``schema_version`` to ``2`` in Launch Manager
-configurations and replace ``max_memory_usage`` with the RLIMIT options
-(``RLIMIT_AS``, ``RLIMIT_STACK``, ``RLIMIT_DATA``) and ``max_cpu_usage`` with
+to milliseconds, migrate State Managers from ``ControlClient`` to
+``ILmControl``, set ``schema_version`` to ``2``, replace
+``ready_recovery_action.restart`` with ``activation_retry_attempts`` and
+``delay_before_restart_ms``, and replace ``max_memory_usage`` with
+``RLIMIT_AS``, ``RLIMIT_STACK`` or ``RLIMIT_DATA`` and ``max_cpu_usage`` with
 ``RLIMIT_CPU``.
 
+Tooling: safety analysis and dependable element rules
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Tooling ``v2.3.1`` and ``v3.0.0`` change the Bazel rules that modules use for
+their safety documentation: ``fmea`` became ``safety_analysis``, which
+``v3.0.0`` splits into ``failure_modes``, ``fault_trees`` and
+``safety_analysis``; ``dependable_element`` no longer has the attribute
+``assumptions_of_use``; PlantUML elements are identified by their written name
+instead of the alias; and the crate repository is renamed from ``@crates`` to
+``@crates_score_tooling``. This repository drops the ``assumptions_of_use``
+attribute from Logging and Configuration Management by patch
+(`Tooling v2.3.1 release notes `__,
+`Tooling v3.0.0 release notes `__,
+`dc41763 `__).
+
+Action required: migrate ``dependable_element`` and safety analysis targets
+with the migration checklist of the Tooling ``v3.0.0`` release notes.
+
+Test Scenarios: libraries moved under ``score/``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Test Scenarios ``v0.5.0`` moved the libraries to
+``@score_test_scenarios//score/test_scenarios_cpp`` and
+``@score_test_scenarios//score/test_scenarios_rust``; the feature integration
+tests of this repository use the new labels
+(`testing_tools#31 `__,
+`cb89c10 `__).
+
+Action required: update the ``@score_test_scenarios`` labels.
+
+Docs-as-code: ``score_pytest`` moved, FMEA attribute renamed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Docs-as-code ``v8.4.0`` removed the ``score_pytest`` macro and the test
+attributes plugin; they are provided by ``score_tools``. The attribute
+``root_cause`` of ``feat_fmea`` and ``comp_fmea`` was renamed to
+``failure_root_cause``
+(`Docs-as-code v8.4.0 release notes `__).
+
+Action required: load ``score_pytest`` from ``@score_tools`` and rename
+``root_cause`` in FMEA needs.
+
 🎯 Reference Integration scope
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -324,6 +513,10 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
 - **Release notes:** `Reference integration release notes `__
 - **Platform Verification Report:** :need:`doc__platform_verification_report_latest`
 
+The *Release notes* column of the module tables links every release of a module
+since v0.9.0, oldest first; modules unchanged since v0.9.0 show their current
+release.
+
 
 🧩 Integrated Software Modules
 -------------------------------
@@ -338,15 +531,15 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
      - Module verification report
    * - `Platform `__
      - ``v0.7.4``
-     - `Release notes `__
+     - `v0.7.3 `__ · `v0.7.4 `__
      - ---
    * - `Baselibs `__
      - ``v0.2.17``
-     - `Release notes `__
+     - `v0.2.13 `__ · `v0.2.14 `__ · `v0.2.15 `__ · `v0.2.16 `__ · `v0.2.17 `__
      - :doc:`Verification report `
    * - `Communication `__
      - ``v0.6.0``
-     - `Release notes `__
+     - `v0.5.0 `__ · `v0.6.0 `__
      - Dependable elements:
 
        * `LoLa (mw::com) `__
@@ -354,27 +547,27 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
        * `Shared Memory `__
    * - `Persistency `__
      - ``v0.4.0``
-     - `Release notes `__
+     - `v0.4.0 `__
      - :doc:`Verification report `
    * - `Kyron `__
      - ``v0.1.6``
-     - `Release notes `__
+     - `v0.1.5 `__ · `v0.1.6 `__
      - ---
    * - `Lifecycle `__
      - ``v0.10.0``
-     - `Release notes `__
+     - `v0.7.0 `__ · `v0.8.0 `__ · `v0.9.0 `__ · `v0.10.0 `__
      - :doc:`Verification report `
-   * - `Logging `__
-     - ``v0.2.5``
-     - `Release notes `__
+   * - `Logging `__
+     - ``cda5a5b (unreleased)``
+     - `v0.2.5 `__
      - :doc:`Verification report `
    * - `Time `__
      - ``v0.3.1``
-     - `Release notes `__
+     - `v0.3.0 `__ · `v0.3.1 `__
      - ---
    * - `Configuration Management `__
      - ``v0.3.1``
-     - `Release notes `__
+     - `v0.3.1 `__
      - ---
 
 🔧 Associated Infrastructure Modules
@@ -389,34 +582,34 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
      - Release notes
    * - `Crates `__
      - ``v0.0.11``
-     - `Release notes `__
+     - `v0.0.11 `__
    * - `ITF (Integration Testing Framework) `__
      - ``v0.6.0``
-     - `Release notes `__
+     - `v0.6.0 `__
    * - `Devcontainer `__
      - ``v1.11.4``
-     - `Release notes `__
+     - `v1.11.4 `__
    * - `Tools `__
      - ``v0.0.4``
-     - `Release notes `__
+     - `v0.0.4 `__
    * - `Tooling `__
      - ``v3.0.1``
-     - `Release notes `__
+     - `v2.1.0 `__ · `v2.1.1 `__ · `v2.2.0 `__ · `v2.2.1 `__ · `v2.2.2 `__ · `v2.2.3 `__ · `v2.3.0 `__ · `v2.3.1 `__ · `v3.0.0 `__ · `v3.0.1 `__
    * - `Bazel Platforms `__
      - ``v1.1.0``
-     - `Release notes `__
+     - `v1.1.0 `__
    * - `Test Scenarios `__
      - ``v0.5.0``
-     - `Release notes `__
+     - `v0.5.0 `__
    * - `Docs-as-code `__
      - ``v8.6.0``
-     - `Release notes `__
+     - `v8.1.2 `__ · `v8.2.0 `__ · `v8.3.0 `__ · `v8.4.0 `__ · `v8.5.0 `__ · `v8.5.1 `__ · `v8.6.0 `__
    * - `Process description `__
      - ``v2.2.2``
-     - `Release notes `__
+     - `v2.2.0 `__ · `v2.2.1 `__ · `v2.2.2 `__
    * - `Bazel CPP Toolchain `__
      - ``v1.0.3``
-     - `Release notes `__
+     - `v1.0.3 `__
 
 💿 Images
 ----------
@@ -460,6 +653,7 @@ configurations and replace ``max_memory_usage`` with the RLIMIT options
 ------------------------
 
 - Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui
+- Modules shown as *(unreleased)* are pinned to a commit and have no registry version; use the commit from ``known_good.json``.
 - The module versions of this release are listed in `known_good.json `__.
 
 

From 362715a82a3283c129cbbca725e10f626aab7cda Mon Sep 17 00:00:00 2001
From: Alexander Lanin 
Date: Tue, 3 Nov 2026 14:57:12 +0100
Subject: [PATCH 70/80] Integrate module coverage reports into release
 documentation (#425)

---
 .github/workflows/test_and_docs.yml           |   4 +-
 .gitignore                                    |   1 +
 bazel_common/unified.bazelrc                  |   9 +-
 docs/integration_process/step_7_reporting.rst |  32 ++++
 scripts/module_tests.py                       | 141 +++++++++++++--
 scripts/tests/test_module_tests.py            | 160 +++++++++++++++++-
 6 files changed, 324 insertions(+), 23 deletions(-)

diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml
index 505d627ccf4..16a68067c5c 100644
--- a/.github/workflows/test_and_docs.yml
+++ b/.github/workflows/test_and_docs.yml
@@ -130,7 +130,9 @@ jobs:
           merge-multiple: true
       - name: Write unit test and coverage summaries
         # Module unit tests and their coverage come only from module_tests.yml, which runs each
-        # module's own tests against ref_int's resolved dependency versions.
+        # module's own tests against ref_int's resolved dependency versions. The report command
+        # also combines their rebased LCOV into coverage-report/coverage_report.dat, the input
+        # read by docs-as-code when //:docs_shim runs in this workspace below.
         run: python ./scripts/module_tests.py report _module_reports
       - name: Collect test reports for the documentation
         # The source code linker reads tests-report/ instead of bazel-testlogs/ when it exists, so
diff --git a/.gitignore b/.gitignore
index 42bd4efa127..103b491b857 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,6 +22,7 @@ _build
 ubproject.toml
 /docs/_collections
 /tests-report
+/coverage-report
 
 # Workspace files
 /score_*/
diff --git a/bazel_common/unified.bazelrc b/bazel_common/unified.bazelrc
index ebaafafeeb1..040c38171be 100644
--- a/bazel_common/unified.bazelrc
+++ b/bazel_common/unified.bazelrc
@@ -20,9 +20,12 @@
 # code uses Android, so forcing it empty makes the rule emit an empty stub repo.
 common --repo_env=ANDROID_HOME=
 
-build:unified --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
-build:unified --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
-build:unified --extra_toolchains=@unified_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0
+build:unified-base --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
+build:unified-base --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
+build:unified-base --extra_toolchains=@unified_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0
+# Module coverage_tool configurations select their own instrumented toolchain on top of
+# unified-base. Keep the generic Clang fallback in unified for other coverage callers.
+build:unified --config=unified-base
 # Coverage builds C++ with clang, so LLVM_PROFDATA/LLVM_COV reach the coverage collectors.
 coverage:unified --extra_toolchains=@unified_llvm_toolchain//:cc-toolchain-x86_64-linux
 coverage:unified --experimental_generate_llvm_lcov
diff --git a/docs/integration_process/step_7_reporting.rst b/docs/integration_process/step_7_reporting.rst
index 8d9c00c3936..40cc70b6a1e 100644
--- a/docs/integration_process/step_7_reporting.rst
+++ b/docs/integration_process/step_7_reporting.rst
@@ -118,6 +118,38 @@ measured. Build a single module's report with:
 
    bazel run //rust_coverage:rust_coverage_score_my_module
 
+Component coverage in the documentation
+---------------------------------------
+
+``scripts/module_tests.py`` uses ``--config=llvm_cov`` and exports reports through
+``@score_coverage//:generate_coverage_html`` for the integrated Baselibs,
+Persistency, Logging, Kyron, Lifecycle and Time versions. Communication and Config
+Management run their unit tests without coverage until a version using
+``coverage_tool`` is integrated; the
+activation points are commented in ``COVERAGE_MODULES`` in the script.
+
+The export uses ``COVERAGE_THRESHOLD=0`` to collect evidence without adding a
+percentage gate. It contains plain LCOV at ``coverage/coverage_report.dat`` and
+the detailed HTML report. Source paths are translated to the reference
+integration's repository identities before upload; for example,
+``score/foo.cpp`` in Baselibs becomes
+``external/score_baselibs+/score/foo.cpp``.
+
+The ``report`` command combines these files into
+``coverage-report/coverage_report.dat``, which docs-as-code reads when the
+published documentation is built. Component coverage uses only the
+``primary_need_id`` and ``code_targets`` already exported by the pinned modules.
+Missing ownership or measurements remain unavailable; the integration does not
+add component metadata through patches.
+
+To include coverage in a local documentation build:
+
+.. code-block:: bash
+
+   python3 scripts/module_tests.py run score_persistency
+   python3 scripts/module_tests.py report _module_tests/reports
+   bazel run //:docs_shim
+
 Verification & status reports
 -----------------------------
 
diff --git a/scripts/module_tests.py b/scripts/module_tests.py
index 48b5f7b7535..ea92772f641 100644
--- a/scripts/module_tests.py
+++ b/scripts/module_tests.py
@@ -41,6 +41,17 @@
 REF_INT = Path(__file__).resolve().parents[1]
 UNIFIED_RC = REF_INT / "bazel_common" / "unified.bazelrc"
 UNIFIED_TOOLCHAINS = REF_INT / "bazel_common" / "unified_toolchains.MODULE.bazel"
+# Only enable the coverage_tool flow for releases already integrated in known_good.json.
+COVERAGE_MODULES = {
+    "score_baselibs",
+    "score_persistency",
+    "score_logging",
+    "score_kyron",
+    # "score_communication",  # Enable once ref_int integrates a release using coverage_tool.
+    "score_lifecycle",
+    "score_time",
+    # "score_config_management",  # Enable once ref_int integrates a release using coverage_tool.
+}
 # Bazel's per-target result lines, e.g. "//score/foo:bar_test   FAILED in 2.1s".
 STATUS_LINE = re.compile(r"^(//\S+|@\S+)\s+(FAILED TO BUILD|FAILED|TIMEOUT|NO STATUS|INCOMPLETE|FLAKY)\b", re.M)
 
@@ -108,18 +119,53 @@ def override_rc(paths: dict[str, Path], extra_test_config: list[str] = ()) -> st
     return rc + "".join(f"build --{flag}\n" for flag in extra_test_config)
 
 
-def coverage_args(test_args: list[str], langs: list[str], excludes: list[str] = ()) -> list[str]:
+def coverage_args(
+    test_args: list[str], langs: list[str], excludes: list[str] = (), *, enabled: bool = True, module: str = ""
+) -> list[str]:
     """The module's own test args with ref_int's unified config added before any ``--``.
 
+    Modules awaiting coverage_tool integration run their unit tests without coverage.
     ``excludes`` (the module's ``exclude_test_targets``) become negative patterns after ``--``.
     """
-    ours = ["--config=unified", "--combined_report=lcov"]
+    # Coverage modules provide their own instrumented toolchain (Kyron keeps GCC for C++).
+    # Share the integration platform and fallback toolchain without forcing unified Clang.
+    ours = ["--config=unified-base" if enabled else "--config=unified"]
+    if enabled:
+        ours.extend(["--build_tests_only", "--config=llvm_cov"])
     if "rust" in langs:
         ours.append("--config=unified-rust")
     split = test_args.index("--") if "--" in test_args else len(test_args)
-    targets = [*test_args[split + 1 :], *(f"-{target}" for target in excludes)]
+    flags = test_args[:split]
+    if enabled:
+        # The module's llvm_cov config chooses the coverage toolchain and instrumentation.
+        # Regular test presets select GCC or sanitizers and can override or conflict with it.
+        flags = [
+            arg
+            for arg in flags
+            if arg not in ("--config=score-linux-x86_64", "--config=x86_64-linux", "--config=asan_ubsan_lsan")
+        ]
+    targets = list(test_args[split + 1 :])
+    if enabled and module == "score_baselibs":
+        targets.extend(
+            [
+                # This library interposes __cxa_allocate_exception; ld.lld rejects the
+                # duplicate definition from the statically linked C++ runtime.
+                "-//score/language/safecpp/aborts_upon_exception/...",
+                # The static mock fails gMock's leak check with static linking; the module
+                # release's own Coverage CI excludes this test too.
+                "-//score/os/linux/utils/test:network_interface_test",
+            ]
+        )
+    targets.extend(f"-{target}" for target in excludes)
     separator = ["--"] if targets else []
-    return ["coverage", "--lockfile_mode=update", *test_args[:split], *ours, *separator, *targets]
+    return [
+        "coverage" if enabled else "test",
+        "--lockfile_mode=update",
+        *flags,
+        *ours,
+        *separator,
+        *targets,
+    ]
 
 
 def _status(case: ET.Element) -> str:
@@ -191,11 +237,64 @@ def _apply_extra_dependency_overrides(workspace: Path, devcontainer_version: str
         f.write(line)
 
 
-def _collect_coverage(workspace: Path, out: Path, env: dict) -> None:
-    (out / "coverage").mkdir()
-    lcov = Path(bazel(["info", "output_path"], workspace, env).stdout.strip()) / "_coverage" / "_coverage_report.dat"
-    if lcov.is_file():
-        shutil.copy(lcov, out / "coverage" / "lcov.dat")
+def normalize_lcov(text: str, module: str) -> str:
+    """Rebase coverage_tool's canonical paths into ref_int's external module namespace."""
+    lines = []
+    for line in text.splitlines():
+        if line.startswith("SF:"):
+            path = line[3:]
+            if path.startswith("/"):
+                raise ValueError(f"{module}: coverage source must be repository-relative: {path}")
+            if path.startswith("../"):
+                path = "external/" + path[3:]
+            if not path.startswith("external/"):
+                path = f"external/{module}+/{path}"
+            parts = path.split("/")
+            if len(parts) < 3 or any(part in ("", ".", "..", "_virtual_includes") for part in parts):
+                raise ValueError(f"{module}: coverage source is not canonical: {path}")
+            if parts[1] == "_main":
+                parts[1] = f"{module}+"
+            line = "SF:" + "/".join(parts)
+        lines.append(line)
+    return "\n".join(lines) + "\n" if lines else ""
+
+
+def combine_reports(reports: Path, modules: list[str], output: Path) -> None:
+    """Combine available module reports, leaving absent measurements unavailable."""
+    chunks = []
+    for module in sorted(modules):
+        report = reports / module / "coverage" / "coverage_report.dat"
+        if report.is_file():
+            chunks.append(report.read_text(encoding="utf-8"))
+        else:
+            print(f"::warning::{module}: no documentation coverage report available")
+    output.parent.mkdir(parents=True, exist_ok=True)
+    output.write_text("".join(chunk.rstrip("\n") + "\n" for chunk in chunks), encoding="utf-8")
+
+
+def _collect_coverage(workspace: Path, out: Path, env: dict) -> int:
+    # Export through coverage_tool's public CLI. It owns the backend's report packaging;
+    # ref_int only translates the exported source identities into its workspace context.
+    # Threshold zero collects evidence without adding a new percentage gate to module tests.
+    result = bazel(
+        [
+            "run",
+            "--lockfile_mode=update",
+            "@score_coverage//:generate_coverage_html",
+            "--",
+            "--testlogs-subdir=",
+            "--archive-dir",
+            str(out / "coverage"),
+        ],
+        workspace,
+        {**env, "COVERAGE_THRESHOLD": "0"},
+    )
+    print(result.stdout)
+    if result.returncode:
+        return result.returncode
+    lcov = out / "coverage" / "coverage_report.dat"
+    lcov.write_text(normalize_lcov(lcov.read_text(encoding="utf-8"), out.name), encoding="utf-8")
+    return 0
 
 
 def _write_summary(
@@ -279,7 +378,14 @@ def run(args: argparse.Namespace) -> int:
     unpinned = sorted(shared - set(pinned))
     shutil.copy(rc, out / "overrides.bazelrc")
 
-    command = coverage_args(module.metadata.test_args, module.metadata.langs, module.metadata.exclude_test_targets)
+    coverage_enabled = module.name in COVERAGE_MODULES
+    command = coverage_args(
+        module.metadata.test_args,
+        module.metadata.langs,
+        module.metadata.exclude_test_targets,
+        enabled=coverage_enabled,
+        module=module.name,
+    )
     exit_code, log = streamed(["bazel", *command], workspace, env)
 
     results = list((workspace / "bazel-testlogs").glob("**/test.xml"))
@@ -290,7 +396,9 @@ def run(args: argparse.Namespace) -> int:
     # Bazel exits 0 when every test is skipped (e.g. all incompatible with the platform).
     no_tests = not results
     exit_code = exit_code or int(no_tests)
-    _collect_coverage(workspace, out, env)
+    if coverage_enabled:
+        coverage_exit = _collect_coverage(workspace, out, env)
+        exit_code = exit_code or coverage_exit
     _collect_dependable_element_docs(workspace, out, module.metadata.dependable_element_docs, env)
     (out / "result.json").write_text(json.dumps({"exit_code": exit_code}) + "\n")
     _write_summary(module.name, out, exit_code, log, no_tests=no_tests, pinned=pinned, unpinned=unpinned)
@@ -309,10 +417,10 @@ def report(args: argparse.Namespace) -> int:
         result_file = reports / "result.json"
         result = json.loads(result_file.read_text()) if result_file.is_file() else {"exit_code": 1}
         unit_tests[module.name] = {**count_testcases(reports / "tests"), "exit_code": result["exit_code"]}
-        lcov = reports / "coverage" / "lcov.dat"
-        if "cpp" in module.metadata.langs:
+        lcov = reports / "coverage" / "coverage_report.dat"
+        if module.name in COVERAGE_MODULES:
             numbers = lcov_percentages(lcov) if lcov.is_file() else {}
-            coverage[f"{module.name}_cpp"] = {**numbers, "exit_code": 0 if numbers.get("lines") else 1}
+            coverage[module.name] = {**numbers, "exit_code": 0 if numbers.get("lines") else 1}
 
     args.out_dir.mkdir(parents=True, exist_ok=True)
     unit_tests_md = generate_markdown_report(
@@ -328,6 +436,11 @@ def report(args: argparse.Namespace) -> int:
         output_path=args.out_dir / "coverage_summary.md",
     )
     append_to_step_summary(unit_tests_md, coverage_md)
+    combine_reports(
+        args.reports_dir,
+        sorted(COVERAGE_MODULES & known.modules["target_sw"].keys()),
+        REF_INT / "coverage-report" / "coverage_report.dat",
+    )
     return 0
 
 
diff --git a/scripts/tests/test_module_tests.py b/scripts/tests/test_module_tests.py
index 138c447fb5a..5f69defb5ed 100644
--- a/scripts/tests/test_module_tests.py
+++ b/scripts/tests/test_module_tests.py
@@ -11,14 +11,20 @@
 # SPDX-License-Identifier: Apache-2.0
 # *******************************************************************************
 from pathlib import Path
+from types import SimpleNamespace
 
+import pytest
 from module_tests import (
     STATUS_LINE,
+    _collect_coverage,
+    combine_reports,
     count_testcases,
     coverage_args,
     graph_modules,
     lcov_percentages,
+    normalize_lcov,
     override_rc,
+    report,
 )
 
 
@@ -49,9 +55,9 @@ def test_coverage_args_put_unified_config_before_target_separator():
     assert args == [
         "coverage",
         "--lockfile_mode=update",
-        "--config=x86_64-linux",
-        "--config=unified",
-        "--combined_report=lcov",
+        "--config=unified-base",
+        "--build_tests_only",
+        "--config=llvm_cov",
         "--",
         "//score/...",
         "-//score/test/...",
@@ -60,7 +66,7 @@ def test_coverage_args_put_unified_config_before_target_separator():
 
 def test_coverage_args_register_ferrocene_only_for_rust():
     args = coverage_args(["//src/..."], ["rust"])
-    assert args[-2:] == ["--combined_report=lcov", "--config=unified-rust"]
+    assert args[-2:] == ["--config=llvm_cov", "--config=unified-rust"]
     assert "--config=unified-rust" not in coverage_args(["//score/..."], ["cpp"])
 
 
@@ -69,7 +75,36 @@ def test_coverage_args_exclude_targets_after_separator():
     assert args[-3:] == ["--config=unified-rust", "--", "-//score/rust:miri_tests"]
     # An existing separator is reused, the excludes go after the module's own targets.
     args = coverage_args(["--", "//score/...", "-//score/test/..."], ["cpp"], ["//score/a:b"])
-    assert args[-5:] == ["--combined_report=lcov", "--", "//score/...", "-//score/test/...", "-//score/a:b"]
+    assert args[-5:] == ["--config=llvm_cov", "--", "//score/...", "-//score/test/...", "-//score/a:b"]
+
+
+def test_baselibs_coverage_preserves_targets_and_only_adds_llvm_exclusions():
+    """LLVM exceptions must not disable these tests in a regular GCC test run."""
+    test_args = ["--config=score-linux-x86_64", "--", "//..."]
+    normal = coverage_args(test_args, ["cpp"], enabled=False, module="score_baselibs")
+    assert normal == [
+        "test",
+        "--lockfile_mode=update",
+        "--config=score-linux-x86_64",
+        "--config=unified",
+        "--",
+        "//...",
+    ]
+
+    coverage = coverage_args(test_args, ["cpp"], module="score_baselibs")
+    assert "--config=score-linux-x86_64" not in coverage
+    assert "--build_tests_only" in coverage
+    assert coverage[coverage.index("--") + 1 :] == [
+        "//...",
+        "-//score/language/safecpp/aborts_upon_exception/...",
+        "-//score/os/linux/utils/test:network_interface_test",
+    ]
+    # Baselibs 0.2.17 has no vajson_serialize_test target. The coverage_tool compatibility
+    # test excludes that target on the consumer's default branch, which can be newer.
+    assert not any("vajson" in target for target in coverage)
+    assert "-//score/os/linux/utils/test:network_interface_test" not in coverage_args(
+        ["--", "//score/..."], ["cpp"], module="score_logging"
+    )
 
 
 def test_status_line_reads_bazel_failures():
@@ -102,3 +137,118 @@ def test_lcov_percentages_sums_all_records(tmp_path):
     lcov = tmp_path / "lcov.dat"
     lcov.write_text("SF:a.cpp\nLF:10\nLH:5\nFNF:2\nFNH:2\nend_of_record\nSF:b.cpp\nLF:10\nLH:10\nend_of_record\n")
     assert lcov_percentages(lcov) == {"lines": "75.0%", "functions": "100.0%", "branches": ""}
+
+
+def test_equal_relative_paths_in_different_modules_remain_distinct(tmp_path):
+    for module, hits in [("first", 1), ("second", 0)]:
+        report = tmp_path / module / "coverage" / "coverage_report.dat"
+        report.parent.mkdir(parents=True)
+        report.write_text(normalize_lcov(f"SF:src/lib.rs\nDA:1,{hits}\nend_of_record\n", module))
+    output = tmp_path / "coverage-report" / "coverage_report.dat"
+    combine_reports(tmp_path, ["second", "first", "missing"], output)
+    assert output.read_text() == (
+        "SF:external/first+/src/lib.rs\nDA:1,1\nend_of_record\nSF:external/second+/src/lib.rs\nDA:1,0\nend_of_record\n"
+    )
+
+
+@pytest.mark.parametrize("prefix", ["external/dep+/", "../dep+/"])
+def test_external_dependency_is_not_reassigned_to_tested_module(prefix):
+    assert normalize_lcov(f"SF:{prefix}src/lib.h\nDA:2,1\n", "owner") == ("SF:external/dep+/src/lib.h\nDA:2,1\n")
+
+
+@pytest.mark.parametrize(
+    "path", ["/unknown/lib.cpp", "src/../../lib.cpp", "../dep+/../lib.cpp", "_virtual_includes/a.h"]
+)
+def test_unresolvable_sources_fail_instead_of_silently_matching_wrong_files(path):
+    with pytest.raises(ValueError, match="coverage source"):
+        normalize_lcov(f"SF:{path}\n", "owner")
+
+
+def test_coverage_tool_export_is_rebased_for_documentation(tmp_path, monkeypatch):
+    """Packaging belongs to coverage_tool; ref_int consumes its exported plain LCOV."""
+    workspace = tmp_path / "workspace"
+    out = tmp_path / "reports" / "score_persistency"
+    out.mkdir(parents=True)
+
+    def export(args, cwd, env):
+        assert cwd == workspace
+        assert env == {"EXISTING": "value", "COVERAGE_THRESHOLD": "0"}
+        assert args == [
+            "run",
+            "--lockfile_mode=update",
+            "@score_coverage//:generate_coverage_html",
+            "--",
+            "--testlogs-subdir=",
+            "--archive-dir",
+            str(out / "coverage"),
+        ]
+        report = out / "coverage" / "coverage_report.dat"
+        report.parent.mkdir()
+        report.write_text("SF:score/kvs/kvs.cpp\nDA:1,3\nBRDA:1,0,0,-\nend_of_record\n")
+        return SimpleNamespace(stdout="exported", returncode=0)
+
+    monkeypatch.setattr("module_tests.bazel", export)
+    assert _collect_coverage(workspace, out, {"EXISTING": "value"}) == 0
+    assert (out / "coverage" / "coverage_report.dat").read_text() == (
+        "SF:external/score_persistency+/score/kvs/kvs.cpp\nDA:1,3\nBRDA:1,0,0,-\nend_of_record\n"
+    )
+
+
+def test_coverage_export_failure_is_propagated(tmp_path, monkeypatch):
+    monkeypatch.setattr("module_tests.bazel", lambda *_args: SimpleNamespace(stdout="export failed", returncode=2))
+    assert _collect_coverage(tmp_path, tmp_path / "score_persistency", {}) == 2
+
+
+def test_modules_awaiting_coverage_tool_still_run_tests():
+    args = coverage_args(["--config=x86_64-linux", "--", "//score/..."], ["cpp"], enabled=False)
+    assert args[0] == "test"
+    assert "--config=unified" in args
+    assert "--config=llvm_cov" not in args
+    assert args[-2:] == ["--", "//score/..."]
+
+
+def test_documentation_ignores_coverage_from_modules_awaiting_coverage_tool(tmp_path, monkeypatch):
+    """Old artifacts must not bring an unsupported module back into the documentation report."""
+    modules = {name: SimpleNamespace(name=name) for name in ("score_persistency", "score_communication")}
+    monkeypatch.setattr("module_tests.REF_INT", tmp_path)
+    monkeypatch.setattr("module_tests.load_known_good", lambda _path: SimpleNamespace(modules={"target_sw": modules}))
+    for name in modules:
+        lcov = tmp_path / "reports" / name / "coverage" / "coverage_report.dat"
+        lcov.parent.mkdir(parents=True)
+        lcov.write_text(f"SF:external/{name}+/source.cpp\nDA:1,1\nLF:1\nLH:1\nend_of_record\n")
+    assert report(SimpleNamespace(reports_dir=tmp_path / "reports", out_dir=tmp_path / "summaries")) == 0
+    combined = (tmp_path / "coverage-report" / "coverage_report.dat").read_text()
+    assert "score_persistency+" in combined
+    assert "score_communication+" not in combined
+    summary = (tmp_path / "summaries" / "coverage_summary.md").read_text()
+    assert "score_persistency" in summary
+    assert "score_communication" not in summary
+
+
+def test_missing_reports_remove_stale_coverage_instead_of_reusing_it(tmp_path):
+    output = tmp_path / "coverage-report" / "coverage_report.dat"
+    output.parent.mkdir()
+    output.write_text("SF:external/old+/a.cpp\nDA:1,1\n")
+    combine_reports(tmp_path, ["missing"], output)
+    assert output.read_text() == ""
+
+
+@pytest.mark.parametrize("platform", ["score-linux-x86_64", "x86_64-linux"])
+def test_coverage_uses_module_instrumentation_without_regular_test_presets(platform):
+    """Time's sanitizer run and GCC presets must not override the module's LLVM coverage setup."""
+    presets = [f"--config={platform}", "--config=asan_ubsan_lsan"]
+    args = coverage_args([*presets, "--", "//score/..."], ["cpp"])
+    assert not set(presets) & set(args)
+    assert "--config=unified-base" in args
+    assert "--config=unified" not in args
+    assert "--config=llvm_cov" in args
+    assert args[-2:] == ["--", "//score/..."]
+    normal = coverage_args([*presets, "--", "//score/..."], ["cpp"], enabled=False)
+    assert set(presets) <= set(normal)
+
+
+def test_baselibs_uses_shared_floating_point_exclusion_once():
+    """The release integration already excludes this GCC-only test for regular runs too."""
+    target = "//score/language/safecpp/safe_math/details:floating_point_environment_test"
+    args = coverage_args(["--", "//..."], ["cpp"], [target], module="score_baselibs")
+    assert args.count(f"-{target}") == 1

From 01e4db6d0eb5ec373f0d6126cad2c484148cb45a Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 12:53:24 +0000
Subject: [PATCH 71/80] Skills: drop example-specific state from release-note
 and progress-overview

Remove snapshots of the current state (modules in MODULE_DOCS, uploaded
image assets, PR counts, milestone plan, repository sizes) and fix the
outdated statement that release notes are listed by a toctree glob.
---
 .github/skills/progress-overview/SKILL.md | 12 ++++----
 .github/skills/release-note/SKILL.md      | 34 ++++++++++-------------
 2 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/.github/skills/progress-overview/SKILL.md b/.github/skills/progress-overview/SKILL.md
index 42cfa961200..c6506617c83 100644
--- a/.github/skills/progress-overview/SKILL.md
+++ b/.github/skills/progress-overview/SKILL.md
@@ -39,7 +39,7 @@ Then bump the date in the `.. important::` admonition of `progress_overview.rst`
 to the `data_collected` value, and verify with
 `python3 scripts/progress_overview/generate_progress_charts.py --check`.
 
-The first run clones ~11 bare repositories (~1.8 GB) into
+The first run clones the module repositories as bare repositories into
 `/tmp/progress_overview_repos`; later runs only fetch. Use `--cache` to relocate.
 
 ## How the columns are built
@@ -50,14 +50,14 @@ pre-release such as `v0.5.0-beta` before its final release, `v0.10.0` after
 
 - **Release columns** — the tag's `known_good.json` gives each module's pin.
   Entries carrying only a `version` are resolved to `v` in the module's
-  own repository. Modules that were never pinned (Security/Crypto, Some/IP) fall
-  back to the commit on `main` as of the release date.
+  own repository. Modules without `known_good` keys in `MODULES` (never pinned)
+  fall back to the commit on `main` as of the release date.
 - **Forecast column** (` (forecast)`) — the **working tree's**
   `known_good.json`, i.e. today's state, labelled as the projection for the next
   release. The next release is read from the milestones of
   [eclipse-score/score](https://github.com/eclipse-score/score/milestones): the
-  lowest `v.` milestone after the latest release tag (after
-  `v0.9.0` it is `v0.10`, after `v0.10.0` it is `v1.0`). Never hard-code it; if
+  lowest `v.` milestone after the latest release tag. Never
+  hard-code it; if
   the milestone is missing the collector stops, create the milestone instead.
 
 Every bar is stacked by module. `MODULE_COLORS` is the single source of truth
@@ -96,7 +96,7 @@ growth, not validation maturity. `chklst_*.rst` files are excluded.
   `progress_overview_architecture`, `progress_overview_implementation` and
   `progress_overview_verification` — `pi1.rst`, `pi2.rst` and `pi3.rst` link to them.
 - The page is listed first in the toctree of `releases.rst`, before the release
-  notes (`release_note_*` glob).
+  notes (explicit list in release order, no glob).
 - Never hand-edit an SVG; regenerate it.
 - Re-collect **all** columns rather than appending one by hand. The value of the
   series is that every column used the same counter.
diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index 4b1ea663f03..acc1309182f 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -46,12 +46,11 @@ current docs tree), `---` where the module has none (e.g. the platform). Every
 empty table cell is written as `---`.
 Modules that publish their verification evidence as dependable elements (with
 L.O.B.S.T.E.R. traceability reports) in their own versioned docs instead of an
-S-CORE module verification report are listed in `MODULE_DOCS` (today
-Communication). For them the cell lists one link per dependable element, found
-in the `searchindex.js` of the module docs at the pinned tag (pages titled
-"Dependable element: "); `DEPENDABLE_ELEMENT_LABELS` sets the label and
-order (e.g. `mw_com` -> LoLa (mw::com)). An unreleased pin or missing docs give
-a warning and `---`.
+S-CORE module verification report are listed in `MODULE_DOCS`. For them the
+cell lists one link per dependable element, found in the `searchindex.js` of
+the module docs at the pinned tag (pages titled "Dependable element: ");
+`DEPENDABLE_ELEMENT_LABELS` sets the label and order. An unreleased pin or
+missing docs give a warning and `---`.
 Never write module versions or links by hand.
 
 Image table: the image catalogue (`IMAGES` in the script) lists name,
@@ -61,9 +60,7 @@ exists at the ref, else `---`.
 
 Download: images that a workflow uploads to the GitHub release of this
 repository are listed in `IMAGE_DOWNLOADS` (`images/` -> workflow, asset
-file name), today only AutoSD (`build_and_test_autosd.yml` uploads
-`eclipse-autosd-bootc-qemu-x86_64.qcow2.xz`, the AutoSD QEMU image with the
-S-CORE showcases). The link is built from the release tag
+file name). The link is built from the release tag
 (`.../releases/download//`), because the assets are uploaded
 only when the release is published, after the note is final. The generator
 checks that the workflow at the release ref still uploads the asset; if not, it
@@ -71,9 +68,8 @@ warns and writes `---`. All other images have `---`.
 
 When an image is added or renamed in `images/`, update `IMAGES`; when a
 workflow starts or stops uploading an image to the release, or renames the
-asset, update `IMAGE_DOWNLOADS`. Images published by upstream projects (for
-example the AutoSD Raspberry Pi 4 image of eclipse-autosd) are not S-CORE
-images and are not listed.
+asset, update `IMAGE_DOWNLOADS`. Images published by upstream projects are not
+S-CORE images and are not listed.
 
 ## Draft and final
 
@@ -375,18 +371,18 @@ Rules:
 
 Known limits of the evidence:
 
-- Only some modules (for example Baselibs) structure their GitHub release notes
-  with "Breaking changes" and "New features" sections; others only have
+- Only some modules structure their GitHub release notes with "Breaking
+  changes" and "New features" sections; others only have
   GitHub's generated PR list, which is then the only module-level evidence. If
   the collector prints "No breaking/new-feature items and no PR list", there is
   no module-level evidence, and you must say so in the report instead of
   guessing.
-- A release scope can be long (Persistency v0.4.0: 176 PRs). Reading every
-  `review` PR is required; report how many PRs per module you read.
+- A release scope can be long. Reading every `review` PR is required; report
+  how many PRs per module you read.
 - GitHub generates "What's Changed" against the previous tag it finds; when the
-  origin was tagged on a side commit (Persistency v0.3.5), the list can contain
-  PRs that were already in the origin release. Drop a PR if the origin release
-  note already lists it.
+  origin was tagged on a side commit, the list can contain PRs that were
+  already in the origin release. Drop a PR if the origin release note already
+  lists it.
 - Hash-pinned modules (` (unreleased)`) have releases only up to their
   latest tag; changes after it are not covered by release notes.
 - Impact hints search `known_good.json`, `.bazelrc`, `bazel_common`, `patches`,

From 4f998c78b52cbb05e1489d42a0d6a6ba7720ba6a Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 12:59:45 +0000
Subject: [PATCH 72/80] Progress overview: refresh v0.10 column with current
 module pins

Recollected all columns on 2026-11-03; only the last column changed
(module bumps since 2026-10-29: baselibs 0.2.17, communication 0.6.0,
persistency 0.4.0, lifecycle 0.10.0, logging v0.2.5 commit, time 0.3.1,
config_management 0.3.1).

The working-tree column is now labelled with the release in progress
(v0.10) instead of '(forecast)' and is left out once that release is
tagged, so there is no forecast for later releases.
---
 .github/agents/progress-overview.agent.md     |   5 +-
 .github/skills/progress-overview/SKILL.md     |  16 +-
 docs/_assets/pa2_impl_progress.svg            | 216 +++++++++---------
 docs/_assets/pa3_arch_progress.svg            | 172 +++++++-------
 docs/_assets/pa4_impl_progress.svg            |  35 +--
 .../_assets/pa5_integration_test_progress.svg |  32 +--
 docs/_assets/pa5_unit_test_progress.svg       |  31 +--
 .../s_core_v_1/releases/progress_overview.rst |   9 +-
 .../releases/progress_overview_data.json      |  66 +++---
 scripts/progress_overview/collect_metrics.py  |  11 +-
 10 files changed, 297 insertions(+), 296 deletions(-)

diff --git a/.github/agents/progress-overview.agent.md b/.github/agents/progress-overview.agent.md
index c61a127ab9c..1e0b415ba80 100644
--- a/.github/agents/progress-overview.agent.md
+++ b/.github/agents/progress-overview.agent.md
@@ -25,8 +25,9 @@ Maintain a todo list.
 
 1. Read the skill.
 2. Check `GITHUB_PAT` is set; the collector needs it for tag and pin lookups.
-3. Nothing to rename for a new target release: the forecast label comes from
-   the next release milestone in eclipse-score/score (see the skill).
+3. Nothing to rename for a new target release: the label of the release in
+   progress comes from the next release milestone in eclipse-score/score (see
+   the skill).
 4. Run `python3 scripts/progress_overview/collect_metrics.py` (recounts every
    column, ~5 min, clones to `/tmp`).
 5. Run `python3 scripts/progress_overview/generate_progress_charts.py`.
diff --git a/.github/skills/progress-overview/SKILL.md b/.github/skills/progress-overview/SKILL.md
index c6506617c83..d60812d3a0e 100644
--- a/.github/skills/progress-overview/SKILL.md
+++ b/.github/skills/progress-overview/SKILL.md
@@ -1,6 +1,6 @@
 ---
 name: progress-overview
-description: "How-to reference for the Release-wide Progress Overview (docs/s_core_v_1/releases/progress_overview.rst): per-release progress charts next to the release notes. Explains the two scripts (collect_metrics.py, generate_progress_charts.py), the counting model, the forecast column and the module/colour mapping. Use when refreshing the progress overview after a release, a known_good.json ref bump, or when adding a module. The progress-overview agent orchestrates the run; this skill holds the 'how'."
+description: "How-to reference for the Release-wide Progress Overview (docs/s_core_v_1/releases/progress_overview.rst): per-release progress charts next to the release notes. Explains the two scripts (collect_metrics.py, generate_progress_charts.py), the counting model, the release-in-progress column and the module/colour mapping. Use when refreshing the progress overview after a release, a known_good.json ref bump, or when adding a module. The progress-overview agent orchestrates the run; this skill holds the 'how'."
 argument-hint: "optional: release name, e.g. v1.0"
 ---
 
@@ -46,19 +46,21 @@ The first run clones the module repositories as bare repositories into
 
 One column per `reference_integration` release tag, ordered by version (a
 pre-release such as `v0.5.0-beta` before its final release, `v0.10.0` after
-`v0.9.0`), plus a trailing forecast column:
+`v0.9.0`), plus a trailing column for the release in progress:
 
 - **Release columns** — the tag's `known_good.json` gives each module's pin.
   Entries carrying only a `version` are resolved to `v` in the module's
   own repository. Modules without `known_good` keys in `MODULES` (never pinned)
   fall back to the commit on `main` as of the release date.
-- **Forecast column** (` (forecast)`) — the **working tree's**
-  `known_good.json`, i.e. today's state, labelled as the projection for the next
-  release. The next release is read from the milestones of
+- **Release in progress** (`v.`, no suffix) — the **working
+  tree's** `known_good.json`, i.e. the state of the release branch. Its name is
+  read from the milestones of
   [eclipse-score/score](https://github.com/eclipse-score/score/milestones): the
   lowest `v.` milestone after the latest release tag. Never
-  hard-code it; if
-  the milestone is missing the collector stops, create the milestone instead.
+  hard-code it; if the milestone is missing the collector stops, create the
+  milestone instead. The column is left out when the working tree's
+  `known_good.json` equals the one of the latest release tag (the release is
+  published and has its own column); there is no forecast for later releases.
 
 Every bar is stacked by module. `MODULE_COLORS` is the single source of truth
 for the colour of a module and is shared by every chart, so a module keeps its
diff --git a/docs/_assets/pa2_impl_progress.svg b/docs/_assets/pa2_impl_progress.svg
index e2753d39cde..0a3849fa591 100644
--- a/docs/_assets/pa2_impl_progress.svg
+++ b/docs/_assets/pa2_impl_progress.svg
@@ -4,131 +4,127 @@
   
   
   
-    
-    
-    
-    
-    
-    
+    
+    
+    
+    
+    
+    
+    
     
   
   
     0
-    200
-    400
-    600
-    800
-    1,000
-    1,200
-    1,400
+    200
+    400
+    600
+    800
+    1,000
+    1,200
+    1,400
+    1,600
   
   
-  Communication: 452
-  452
-  Lifecycle: 95
-  95
-  Persistency: 75
-  75
-  Baselibs: 58
-  Logging: 46
-  Security/Crypto: 42
-  Diagnostic Services: 22
-  Time: 15
-  Config Mgmt: 13
-  Some/IP: 5
-  823
+  Communication: 452
+  452
+  Lifecycle: 95
+  95
+  Persistency: 75
+  Baselibs: 58
+  Logging: 46
+  Security/Crypto: 42
+  Diagnostic Services: 22
+  Time: 15
+  Config Mgmt: 13
+  Some/IP: 5
+  823
   v0.5.0-beta
   
-  Communication: 458
-  458
-  Baselibs: 103
-  103
-  Lifecycle: 96
-  96
-  Persistency: 75
-  75
-  Config Mgmt: 51
-  Logging: 46
-  Security/Crypto: 42
-  Diagnostic Services: 22
-  Time: 15
-  Some/IP: 5
-  913
+  Communication: 458
+  458
+  Baselibs: 103
+  103
+  Lifecycle: 96
+  96
+  Persistency: 75
+  Config Mgmt: 51
+  Logging: 46
+  Security/Crypto: 42
+  Diagnostic Services: 22
+  Time: 15
+  Some/IP: 5
+  913
   v0.6.0
   
-  Communication: 454
-  454
-  Baselibs: 153
-  153
-  Lifecycle: 96
-  96
-  Config Mgmt: 80
-  80
-  Persistency: 77
-  77
-  Logging: 46
-  Security/Crypto: 42
-  Diagnostic Services: 22
-  Time: 15
-  Some/IP: 14
-  999
+  Communication: 454
+  454
+  Baselibs: 153
+  153
+  Lifecycle: 96
+  96
+  Config Mgmt: 80
+  80
+  Persistency: 77
+  Logging: 46
+  Security/Crypto: 42
+  Diagnostic Services: 22
+  Time: 15
+  Some/IP: 14
+  999
   v0.7.0
   
-  Communication: 553
-  553
-  Baselibs: 161
-  161
-  Lifecycle: 96
-  96
-  Persistency: 76
-  76
-  Config Mgmt: 74
-  74
-  Logging: 68
-  Security/Crypto: 55
-  Diagnostic Services: 22
-  Time: 15
-  Some/IP: 14
-  1,134
+  Communication: 553
+  553
+  Baselibs: 161
+  161
+  Lifecycle: 96
+  96
+  Persistency: 76
+  Config Mgmt: 74
+  Logging: 68
+  Security/Crypto: 55
+  Diagnostic Services: 22
+  Time: 15
+  Some/IP: 14
+  1,134
   v0.8.0
   
-  Communication: 550
-  550
-  Baselibs: 205
-  205
-  Lifecycle: 100
-  100
-  Config Mgmt: 83
-  83
-  Persistency: 76
-  76
-  Logging: 69
-  69
-  Security/Crypto: 60
-  Time: 27
-  Diagnostic Services: 22
-  Some/IP: 14
-  1,206
+  Communication: 550
+  550
+  Baselibs: 205
+  205
+  Lifecycle: 100
+  100
+  Config Mgmt: 83
+  83
+  Persistency: 76
+  Logging: 69
+  Security/Crypto: 60
+  Time: 27
+  Diagnostic Services: 22
+  Some/IP: 14
+  1,206
   v0.9.0
-  
-  Communication: 551
-  551
-  Baselibs: 208
-  208
-  Lifecycle: 100
-  100
-  Persistency: 85
-  85
-  Config Mgmt: 83
-  83
-  Logging: 69
-  69
-  Security/Crypto: 60
-  Time: 27
-  Diagnostic Services: 22
-  Some/IP: 14
-  1,219
-  v0.10 (forecast)
+  
+  Communication: 564
+  564
+  Baselibs: 215
+  215
+  Logging: 137
+  137
+  Lifecycle: 115
+  115
+  Persistency: 110
+  110
+  Config Mgmt: 83
+  83
+  Time: 81
+  81
+  Security/Crypto: 60
+  Diagnostic Services: 22
+  Some/IP: 14
+  1,401
+  v0.10
   
     
     Baselibs
diff --git a/docs/_assets/pa3_arch_progress.svg b/docs/_assets/pa3_arch_progress.svg
index a9be16b3faa..48e3a7d938d 100644
--- a/docs/_assets/pa3_arch_progress.svg
+++ b/docs/_assets/pa3_arch_progress.svg
@@ -4,108 +4,106 @@
   
   
   
-    
-    
-    
-    
-    
-    
-    
+    
+    
+    
+    
+    
+    
+    
+    
     
   
   
     0
-    50
-    100
-    150
-    200
-    250
-    300
-    350
-    400
+    50
+    100
+    150
+    200
+    250
+    300
+    350
+    400
+    450
   
   
-  Baselibs: 69
-  69
-  Lifecycle: 46
-  46
-  Communication: 15
-  Persistency: 13
-  Logging: 3
-  146
+  Baselibs: 69
+  69
+  Lifecycle: 46
+  46
+  Communication: 15
+  Persistency: 13
+  Logging: 3
+  146
   v0.5.0-beta
   
-  Baselibs: 118
-  118
-  Lifecycle: 52
-  52
-  Communication: 17
-  Persistency: 15
-  Logging: 4
-  206
+  Baselibs: 118
+  118
+  Lifecycle: 52
+  52
+  Communication: 17
+  Persistency: 15
+  Logging: 4
+  206
   v0.6.0
   
-  Baselibs: 169
-  169
-  Lifecycle: 52
-  52
-  Communication: 20
-  20
-  Persistency: 15
-  Logging: 7
-  Some/IP: 2
-  265
+  Baselibs: 169
+  169
+  Lifecycle: 52
+  52
+  Communication: 20
+  Persistency: 15
+  Logging: 7
+  Some/IP: 2
+  265
   v0.7.0
   
-  Baselibs: 172
-  172
-  Security/Crypto: 55
-  55
-  Lifecycle: 52
-  52
-  Persistency: 23
-  23
-  Communication: 20
-  20
-  Logging: 10
-  Some/IP: 6
-  338
+  Baselibs: 172
+  172
+  Security/Crypto: 55
+  55
+  Lifecycle: 52
+  52
+  Persistency: 23
+  23
+  Communication: 20
+  Logging: 10
+  Some/IP: 6
+  338
   v0.8.0
   
-  Baselibs: 207
-  207
-  Security/Crypto: 56
-  56
-  Lifecycle: 53
-  53
-  Persistency: 23
-  23
-  Communication: 20
-  20
-  Logging: 10
-  Some/IP: 6
-  Time: 5
-  Config Mgmt: 1
-  Diagnostic Services: 1
-  382
+  Baselibs: 207
+  207
+  Security/Crypto: 56
+  56
+  Lifecycle: 53
+  53
+  Persistency: 23
+  23
+  Communication: 20
+  Logging: 10
+  Some/IP: 6
+  Time: 5
+  Config Mgmt: 1
+  Diagnostic Services: 1
+  382
   v0.9.0
-  
-  Baselibs: 209
-  209
-  Security/Crypto: 57
-  57
-  Lifecycle: 53
-  53
-  Communication: 20
-  20
-  Persistency: 16
-  Logging: 10
-  Some/IP: 10
-  Time: 5
-  Config Mgmt: 1
-  Diagnostic Services: 1
-  382
-  v0.10 (forecast)
+  
+  Baselibs: 218
+  218
+  Lifecycle: 67
+  67
+  Security/Crypto: 57
+  57
+  Communication: 20
+  Persistency: 16
+  Logging: 10
+  Some/IP: 10
+  Time: 5
+  Config Mgmt: 1
+  Diagnostic Services: 1
+  405
+  v0.10
   
     
     Baselibs
diff --git a/docs/_assets/pa4_impl_progress.svg b/docs/_assets/pa4_impl_progress.svg
index 86228a2604a..7082d3736af 100644
--- a/docs/_assets/pa4_impl_progress.svg
+++ b/docs/_assets/pa4_impl_progress.svg
@@ -102,23 +102,24 @@
   Config Mgmt: 15,059
   792,212
   v0.9.0
-  
-  Baselibs: 272,674
-  272,674
-  Communication: 255,766
-  255,766
-  Security/Crypto: 75,293
-  75,293
-  Lifecycle: 54,338
-  54,338
-  Logging: 44,149
-  Kyron: 34,245
-  Some/IP: 32,003
-  Time: 25,260
-  Persistency: 16,078
-  Config Mgmt: 15,059
-  824,865
-  v0.10 (forecast)
+  
+  Baselibs: 271,697
+  271,697
+  Communication: 271,462
+  271,462
+  Security/Crypto: 75,293
+  75,293
+  Lifecycle: 65,851
+  65,851
+  Logging: 44,426
+  44,426
+  Kyron: 34,245
+  Some/IP: 32,003
+  Time: 27,683
+  Persistency: 20,191
+  Config Mgmt: 18,157
+  861,008
+  v0.10
   
     
     Baselibs
diff --git a/docs/_assets/pa5_integration_test_progress.svg b/docs/_assets/pa5_integration_test_progress.svg
index 9c3f5ceb2a6..678d314ce2d 100644
--- a/docs/_assets/pa5_integration_test_progress.svg
+++ b/docs/_assets/pa5_integration_test_progress.svg
@@ -69,22 +69,22 @@
   Baselibs: 6
   240
   v0.9.0
-  
-  Communication: 112
-  112
-  Lifecycle: 59
-  59
-  Persistency: 50
-  50
-  Security/Crypto: 35
-  35
-  Logging: 14
-  Some/IP: 11
-  Baselibs: 9
-  Time: 1
-  Kyron: 1
-  292
-  v0.10 (forecast)
+  
+  Communication: 117
+  117
+  Lifecycle: 70
+  70
+  Persistency: 50
+  50
+  Security/Crypto: 35
+  35
+  Logging: 14
+  Some/IP: 11
+  Baselibs: 7
+  Time: 1
+  Kyron: 1
+  306
+  v0.10
   
     
     Baselibs
diff --git a/docs/_assets/pa5_unit_test_progress.svg b/docs/_assets/pa5_unit_test_progress.svg
index 97df1b183cf..f2dfd072915 100644
--- a/docs/_assets/pa5_unit_test_progress.svg
+++ b/docs/_assets/pa5_unit_test_progress.svg
@@ -97,21 +97,22 @@
   Config Mgmt: 194
   13,120
   v0.9.0
-  
-  Baselibs: 5,942
-  5,942
-  Communication: 3,964
-  3,964
-  Lifecycle: 752
-  Logging: 698
-  Kyron: 455
-  Some/IP: 433
-  Time: 417
-  Persistency: 400
-  Security/Crypto: 320
-  Config Mgmt: 194
-  13,575
-  v0.10 (forecast)
+  
+  Baselibs: 6,024
+  6,024
+  Communication: 4,322
+  4,322
+  Lifecycle: 1,019
+  1,019
+  Logging: 706
+  Persistency: 502
+  Time: 465
+  Kyron: 455
+  Some/IP: 433
+  Security/Crypto: 320
+  Config Mgmt: 235
+  14,481
+  v0.10
   
     
     Baselibs
diff --git a/docs/s_core_v_1/releases/progress_overview.rst b/docs/s_core_v_1/releases/progress_overview.rst
index d998f2f5a99..739b1d6673a 100644
--- a/docs/s_core_v_1/releases/progress_overview.rst
+++ b/docs/s_core_v_1/releases/progress_overview.rst
@@ -19,15 +19,16 @@ Release-wide Progress Overview
 
 .. important::
 
-   **Data collected on: 2026-10-29**
+   **Data collected on: 2026-11-03**
 
 This page shows how the S-CORE platform grew across releases. Each chart
 aggregates one metric over all tracked modules; every bar is split into colour
 slots, one slot per contributing module.
 
-The last column, marked **(forecast)** and named after the next release
-milestone, is not a released state — it is today's state of the modules pinned
-in ``known_good.json``, shown as the projection for the next release.
+The last column, named after the release in progress (the next release
+milestone), shows the state of the modules pinned in ``known_good.json`` on
+the release branch; it is replaced by the release tag once the release is
+published.
 
 For the **current** state — per-module and per-component requirements,
 architecture, traceability, coverage and work-product status — use the
diff --git a/docs/s_core_v_1/releases/progress_overview_data.json b/docs/s_core_v_1/releases/progress_overview_data.json
index 4c1c473c2a4..d1e41f6f28d 100644
--- a/docs/s_core_v_1/releases/progress_overview_data.json
+++ b/docs/s_core_v_1/releases/progress_overview_data.json
@@ -1,5 +1,5 @@
 {
-  "data_collected": "2026-10-29",
+  "data_collected": "2026-11-03",
   "module_colors": {
     "Baselibs": "#1f77b4",
     "Communication": "#ff7f0e",
@@ -18,7 +18,7 @@
     "requirements": {
       "file": "pa2_impl_progress.svg",
       "title": "Requirements per release (feature + component)",
-      "axis_max": 1400,
+      "axis_max": 1600,
       "axis_step": 200,
       "releases": [
         {
@@ -107,15 +107,15 @@
           }
         },
         {
-          "name": "v0.10 (forecast)",
+          "name": "v0.10",
           "modules": {
-            "Baselibs": 208,
-            "Communication": 551,
-            "Logging": 69,
-            "Persistency": 85,
-            "Time": 27,
+            "Baselibs": 215,
+            "Communication": 564,
+            "Logging": 137,
+            "Persistency": 110,
+            "Time": 81,
             "Config Mgmt": 83,
-            "Lifecycle": 100,
+            "Lifecycle": 115,
             "Kyron": 0,
             "Security/Crypto": 60,
             "Diagnostic Services": 22,
@@ -128,7 +128,7 @@
     "architecture": {
       "file": "pa3_arch_progress.svg",
       "title": "Architecture elements per release (feature + component)",
-      "axis_max": 400,
+      "axis_max": 450,
       "axis_step": 50,
       "releases": [
         {
@@ -217,15 +217,15 @@
           }
         },
         {
-          "name": "v0.10 (forecast)",
+          "name": "v0.10",
           "modules": {
-            "Baselibs": 209,
+            "Baselibs": 218,
             "Communication": 20,
             "Logging": 10,
             "Persistency": 16,
             "Time": 5,
             "Config Mgmt": 1,
-            "Lifecycle": 53,
+            "Lifecycle": 67,
             "Kyron": 0,
             "Security/Crypto": 57,
             "Diagnostic Services": 1,
@@ -327,15 +327,15 @@
           }
         },
         {
-          "name": "v0.10 (forecast)",
+          "name": "v0.10",
           "modules": {
-            "Baselibs": 272674,
-            "Communication": 255766,
-            "Logging": 44149,
-            "Persistency": 16078,
-            "Time": 25260,
-            "Config Mgmt": 15059,
-            "Lifecycle": 54338,
+            "Baselibs": 271697,
+            "Communication": 271462,
+            "Logging": 44426,
+            "Persistency": 20191,
+            "Time": 27683,
+            "Config Mgmt": 18157,
+            "Lifecycle": 65851,
             "Kyron": 34245,
             "Security/Crypto": 75293,
             "Diagnostic Services": 0,
@@ -437,15 +437,15 @@
           }
         },
         {
-          "name": "v0.10 (forecast)",
+          "name": "v0.10",
           "modules": {
-            "Baselibs": 5942,
-            "Communication": 3964,
-            "Logging": 698,
-            "Persistency": 400,
-            "Time": 417,
-            "Config Mgmt": 194,
-            "Lifecycle": 752,
+            "Baselibs": 6024,
+            "Communication": 4322,
+            "Logging": 706,
+            "Persistency": 502,
+            "Time": 465,
+            "Config Mgmt": 235,
+            "Lifecycle": 1019,
             "Kyron": 455,
             "Security/Crypto": 320,
             "Diagnostic Services": 0,
@@ -547,15 +547,15 @@
           }
         },
         {
-          "name": "v0.10 (forecast)",
+          "name": "v0.10",
           "modules": {
-            "Baselibs": 9,
-            "Communication": 112,
+            "Baselibs": 7,
+            "Communication": 117,
             "Logging": 14,
             "Persistency": 50,
             "Time": 1,
             "Config Mgmt": 0,
-            "Lifecycle": 59,
+            "Lifecycle": 70,
             "Kyron": 1,
             "Security/Crypto": 35,
             "Diagnostic Services": 0,
diff --git a/scripts/progress_overview/collect_metrics.py b/scripts/progress_overview/collect_metrics.py
index 9ca1a73cde1..c5b67497068 100644
--- a/scripts/progress_overview/collect_metrics.py
+++ b/scripts/progress_overview/collect_metrics.py
@@ -15,7 +15,7 @@
 
 For every ``reference_integration`` release tag the module pins are read from
 that tag's ``known_good.json``; the working tree's ``known_good.json`` supplies
-the forecast column. Metrics are then counted from bare clones using git
+the column of the release in progress. Metrics are then counted from bare clones using git
 plumbing, which keeps the whole run local and free of API rate limits.
 
 Requires ``GITHUB_PAT`` for the tag/pin lookups. Writes
@@ -341,7 +341,7 @@ def next_release(last_tag):
 
 
 def release_pins(cache):
-    """Return [(label, {module: (repo, sha)})] oldest first, forecast last.
+    """Return [(label, {module: (repo, sha)})] oldest first, release in progress last.
 
     The pseudo-entries ``__score__`` and ``__ri__`` carry the platform and
     reference_integration commits for the same release.
@@ -355,10 +355,11 @@ def release_pins(cache):
         flat = flatten(json.loads(base64.b64decode(blob["content"])))
         columns.append((tag, date, ref, flat))
 
-    forecast = f"{next_release(columns[-1][0])} (forecast)"
     local = flatten(json.loads((REPO_ROOT / "known_good.json").read_text(encoding="utf-8")))
-    head = git(REF_INT, cache, "rev-parse", "HEAD").stdout.decode().strip()
-    columns.append((forecast, None, head, local))
+    # Once the release is tagged, the working tree equals the tag and needs no column of its own.
+    if local != columns[-1][3]:
+        head = git(REF_INT, cache, "rev-parse", "HEAD").stdout.decode().strip()
+        columns.append((next_release(columns[-1][0]), None, head, local))
 
     out = []
     for tag, date, ri_sha, flat in columns:

From 65d75075983a10d8db2d1970611282666d6037d7 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 13:59:51 +0000
Subject: [PATCH 73/80] Pin score_logging by version 0.2.6

---
 MODULE.bazel.lock                                 | 2 ++
 bazel_common/score_modules_target_sw.MODULE.bazel | 5 ++---
 known_good.json                                   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 6423298aff2..aee47e711c7 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1152,6 +1152,8 @@
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_kyron/0.1.6/source.json": "2912db9d95e1d9ab3ab9bf08c55d312205da122764982a7a9b7b08543346a803",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_lifecycle/0.10.0/MODULE.bazel": "bc9141bcfd7f6e289946faf9b696e381b0ebe4214280728d3409636f93c2e164",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_lifecycle/0.10.0/source.json": "21d156e548e8dade756c493e3c0450d17b3f4bec961c832337c783e3bdb2f3f3",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_logging/0.2.6/MODULE.bazel": "c62ced1f6bbe8e438b3d0a1e6ba94c9d3ce01ad24fd77c00a7fb6c832a15a65a",
+    "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_logging/0.2.6/source.json": "7e150acaf7f4c6e35730cebe29b8a5000a2c3ffcc4d42180a776c69905d51ebc",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/MODULE.bazel": "1d00205b2f3f3da1b7ecaf67de1a6a794f98502fd0d2f969160076f9ac3cc241",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_persistency/0.4.0/source.json": "5fbfa8bd1decf0a0d08c6ab171e1f882744d068a629896178a8e1591d21e93ce",
     "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.7.4/MODULE.bazel": "c3255f4f8ec36d60842839a2beaef003059849869f30ba2c6694100098cf508c",
diff --git a/bazel_common/score_modules_target_sw.MODULE.bazel b/bazel_common/score_modules_target_sw.MODULE.bazel
index 95ace8503f1..04729b2288a 100644
--- a/bazel_common/score_modules_target_sw.MODULE.bazel
+++ b/bazel_common/score_modules_target_sw.MODULE.bazel
@@ -64,16 +64,15 @@ single_version_override(
 )
 
 bazel_dep(name = "score_logging")
-git_override(
+single_version_override(
     module_name = "score_logging",
-    commit = "cda5a5ba57dffe3aa109e518e47f0ada692b3573",
     patch_strip = 1,
     patches = [
         "//patches/logging:002-undev-component-test-deps.patch",
         "//patches/logging:003-relative-verification-report-links.patch",
         "//patches/logging:004-drop-dependable-element-aou-attr.patch",
     ],
-    remote = "https://github.com/eclipse-score/logging.git",
+    version = "0.2.6",
 )
 
 bazel_dep(name = "score_time")
diff --git a/known_good.json b/known_good.json
index 1a5d2ed3946..ed587a77839 100644
--- a/known_good.json
+++ b/known_good.json
@@ -196,7 +196,7 @@
                         "-//score/test/component/..."
                     ]
                 },
-                "hash": "cda5a5ba57dffe3aa109e518e47f0ada692b3573"
+                "version": "0.2.6"
             },
             "score_time": {
                 "repo": "https://github.com/eclipse-score/time.git",

From e715a2b226c0b041f2c8573791927ebff750231a Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 13:59:51 +0000
Subject: [PATCH 74/80] Release note v0.10: Logging v0.2.6

---
 docs/s_core_v_1/releases/_assets/architecture_v0_10.svg | 6 +++---
 docs/s_core_v_1/releases/release_note_score_v0_10.rst   | 7 +++----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 0faeeb96bd4..79a10bda340 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -174,9 +174,9 @@
 EXPERIMENTAL
 
 
-
+
 Logging
-cda5a5b
+v0.2.6
 was v0.2.4
 
 Datarouter
@@ -235,7 +235,7 @@
 NEW
 new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ e40f7314aaf
+generated from known_good.json @ 72a25fbd97f
 Module maturity (DR-003):
 RELEASE
 (0)
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 440ad12081e..ce5eee33879 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -557,9 +557,9 @@ release.
      - ``v0.10.0``
      - `v0.7.0 `__ · `v0.8.0 `__ · `v0.9.0 `__ · `v0.10.0 `__
      - :doc:`Verification report `
-   * - `Logging `__
-     - ``cda5a5b (unreleased)``
-     - `v0.2.5 `__
+   * - `Logging `__
+     - ``v0.2.6``
+     - `v0.2.5 `__ · `v0.2.6 `__
      - :doc:`Verification report `
    * - `Time `__
      - ``v0.3.1``
@@ -653,7 +653,6 @@ release.
 ------------------------
 
 - Increase to the newest Bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui
-- Modules shown as *(unreleased)* are pinned to a commit and have no registry version; use the commit from ``known_good.json``.
 - The module versions of this release are listed in `known_good.json `__.
 
 

From e3f1099ad1b9471600d246aeb048bef45e7d8af7 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 14:00:29 +0000
Subject: [PATCH 75/80] Release note v0.10: module coverage in the
 documentation (#425)

---
 docs/s_core_v_1/releases/release_note_score_v0_10.rst | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index ce5eee33879..0fdd37b6c45 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -237,6 +237,12 @@ Documentation and reports
 - The Platform Verification Report uses the ``platform_verification_report``
   template of Docs-as-code
   (`Docs-as-code v8.2.0 release notes `__).
+- The module tests export the coverage reports of Baselibs, Persistency,
+  Logging, Kyron, Lifecycle and Time and combine them into one LCOV file
+  (``coverage-report/coverage_report.dat``) that the documentation build reads,
+  so the measured module coverage appears in the documentation; Communication
+  and Configuration Management run their tests without coverage
+  (`#425 `__).
 - The Overall Status page was replaced by the Release-wide Progress Overview
   next to the release notes, with release-over-release charts per module
   (`#392 `__).

From 81fb7a07539838f1d16587048fb81f4daf3086b6 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 15:26:22 +0000
Subject: [PATCH 76/80] Release note v0.10: final

---
 .../releases/_assets/architecture_v0_10.svg         |  6 +++---
 .../releases/release_note_score_v0_10.rst           | 13 ++++++-------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 79a10bda340..29c30854f29 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -1,8 +1,8 @@
 
 S-CORE Platform v0.10
 Reference integration architecture
-DRAFT
-v0.10.0  ·  planned 2026-11-02  ·  compared to v0.9.0
+FINAL
+v0.10.0  ·  released 2026-11-02  ·  compared to v0.9.0
 5
 target images
 11
@@ -235,7 +235,7 @@
 NEW
 new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ 72a25fbd97f
+generated from known_good.json @ e3f1099ad1b
 Module maturity (DR-003):
 RELEASE
 (0)
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 0fdd37b6c45..87c5d17ff7a 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -12,19 +12,18 @@
    # SPDX-License-Identifier: Apache-2.0
    # *******************************************************************************
 
-S-CORE Platform v0.10 release note (DRAFT)
-============================================
+S-CORE Platform v0.10 release note
+====================================
 
-.. warning::
+.. note::
 
-   **DRAFT - release in progress.** v0.10.0 is not released yet (planned for
-   2026-11-02). This note shows the current state of the integration and changes
-   until the release is published.
+   **FINAL.** This is the release note of release
+   `v0.10.0 `__ (2026-11-02).
 
 
 .. document:: S-CORE v0.10 release note
    :id: doc__score_v010_release_note
-   :status: draft
+   :status: valid
    :safety: QM
    :security: YES
    :realizes: wp__platform_sw_release_note

From 8c9857df9891ed240cd9feaf40f4ba4e07569578 Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 20:48:22 +0000
Subject: [PATCH 77/80] release-note: restructure skill, always generate from
 scratch, classify releases separately

---
 .github/agents/release-note.agent.md   |  43 +-
 .github/prompts/release-note.prompt.md |   7 +-
 .github/skills/release-note/SKILL.md   | 735 ++++++++++++-------------
 3 files changed, 382 insertions(+), 403 deletions(-)

diff --git a/.github/agents/release-note.agent.md b/.github/agents/release-note.agent.md
index 78673879d63..659cdac0153 100644
--- a/.github/agents/release-note.agent.md
+++ b/.github/agents/release-note.agent.md
@@ -1,5 +1,5 @@
 ---
-description: "Creates the S-CORE platform release note docs/s_core_v_1/releases/release_note_score_vX_Y.rst. Use when: preparing a release note for an upcoming platform release, regenerating one from known_good.json, or reviewing the module tables of an existing note. Module tables, platform scope and images are generated from known_good.json and the repository; the 'Changes to the Platform' chapter is written from this repository's PRs and the modules' own release notes (platform-level new features and breaking changes only)."
+description: "Creates the S-CORE platform release note docs/s_core_v_1/releases/release_note_score_vX_Y.rst. Use when: preparing a release note for an upcoming platform release, regenerating one from known_good.json, or reviewing the module tables of an existing note. Module tables, platform scope and images are generated from known_good.json and the repository; the 'Changes to the Platform' chapter is written from reference_integration's PRs and the modules' own release notes (platform-level new features and breaking changes only)."
 name: Release Note
 argument-hint: "release tag and origin tag, e.g. 'v0.10.0 from v0.9.0' (add 'final' for the final note)"
 tools: [read, edit, search, execute, todo, web]
@@ -18,9 +18,9 @@ Read it first and follow it exactly.
 - DO NOT type module names, versions or links into the tables by hand; they
   come from `scripts/release_note/generate_release_note.py`.
 - DO NOT invent changes. Every statement must trace back to a merged PR or
-  closed issue of this repository, the `--changes` table, or a module's own
+  closed issue of reference_integration, the `--changes` table, or a module's own
   GitHub release notes (all via `collect_changes.py`).
-- List only platform-level new features and breaking changes (see the skill);
+- List only platform-level new features and breaking changes (skill, 8.1);
   module internals stay in the module release notes, which the note links.
 - DO NOT edit generated parts (status banner, Overview, headings and icons,
   tables, Images, Known Issues, Upgrade Instructions, architecture diagram
@@ -29,11 +29,11 @@ Read it first and follow it exactly.
   (a new image download, a known issue, a line someone added by hand), change
   the generator (`IMAGES`, `IMAGE_DOWNLOADS`, fixed text) and regenerate.
 - DO NOT set a module's DR-003 maturity by hand; `assess_maturity()` derives it
-  on every run (see the skill). Propose rule changes to the user instead.
+  on every run (skill, 5.5). Propose rule changes to the user instead.
 - Pass `--final` only when the user explicitly asks for the final note;
-  otherwise the note is a draft (see the skill, "Draft and final").
-- DO NOT overwrite an existing `release_note_score_*.rst` without the user
-  asking for it; for comparisons write to a different path.
+  otherwise the note is a draft (skill, 3 "Draft and final").
+- ALWAYS generate the whole note from scratch, also if it already exists
+  (skill, 6); never keep or merge parts of a previous version.
 - DO NOT commit or push.
 - ALWAYS surface generator warnings (missing tags, unreleased pins, missing
   milestone, image asset no longer uploaded) to the user.
@@ -44,26 +44,33 @@ Read it first and follow it exactly.
    comes from the milestone `v.` in eclipse-score/score (the
    generator reads it); do not ask for it and do not pass `--date`.
 2. Prepare: work on the release candidate branch of the release (ask for it if
-   the current branch is `main`); `git pull` and `git fetch --tags`. Do not
-   pass `--known-good-ref`; both scripts read the checked-out branch.
+   the current branch is `main`); `git pull` and `git fetch --tags`. The note
+   is created and committed only there and reaches `main` when the release
+   branch is merged back; a note added on `main` directly would conflict with
+   that merge. The branch must be pushed before `collect_changes.py` runs,
+   because it compares commits through the GitHub API. Set `GITHUB_TOKEN`
+   (never print it). Do not pass `--known-good-ref`; both scripts read the
+   checked-out branch.
 3. Run the generator to create the skeleton (this also builds the checkout's
    `needs.json` with Bazel and renders the architecture diagram) and the
-   `--changes` table. Do not pass `--needs`.
-4. Run `collect_changes.py` and classify into platform-level new features and
-   breaking changes as described in the skill (use the impact hints).
+   `--changes` table. Do not pass `--needs`. The skeleton replaces an existing
+   note (skill, 6).
+4. Run `collect_changes.py` (skill, 7). Classify every module release and the
+   evidence of reference_integration in a separate pass (skill, 8.2), then merge
+   the candidate lists and decide (skill, 8.3; use the impact hints).
 5. Replace both `.. AI-FILL:` markers (New Features, Breaking Changes).
 6. Make sure the new note is the last entry of the release-note `toctree` in
    `docs/s_core_v_1/releases/releases.rst` (explicit list in release order,
    no glob).
-7. Run the validation checks from the skill.
+7. Run the validation checks from the skill (9).
 8. Report: output path and diagram path, state (draft or final), generator
    warnings, modules with unreleased pins (every `hash` pin counts as
    unreleased, even if a tag points at the commit; propose a `version` pin),
    modules shown with "no components
    documented" in the diagram, the DR-003 maturity per module (generator line
-   `maturity (DR-003): ...`) with the borderline cases (see the skill, "Module
-   maturity (DR-003)"),
-   items left out although they looked relevant, and anything you could not
-   verify.
+   `maturity (DR-003): ...`) with the borderline cases (skill, 5.5),
+   the omitted candidates with reason (skill, 8.3 step 4), and anything you
+   could not verify.
 
-The skill section "Run from scratch" has the exact commands.
+The skill has the exact commands (4 "Generator", 7 "Evidence"), the narrative
+rules (8) and the from-scratch rule (6).
diff --git a/.github/prompts/release-note.prompt.md b/.github/prompts/release-note.prompt.md
index 25ed3683a1b..dcef8051545 100644
--- a/.github/prompts/release-note.prompt.md
+++ b/.github/prompts/release-note.prompt.md
@@ -1,5 +1,5 @@
 ---
-description: "Create or refresh the S-CORE platform release note as draft or final."
+description: "Create the S-CORE platform release note from scratch as draft or final."
 name: "release-note"
 argument-hint: "release=v0.10.0 origin=v0.9.0 state=draft|final"
 agent: "Release Note"
@@ -14,6 +14,5 @@ State: `${input:state:draft or final}`
 - Any other value: stop and ask for `draft` or `final`.
 
 Follow the workflow of the agent and the [release-note skill](../skills/release-note/SKILL.md).
-If the note file already exists, refresh it as described in the skill: regenerate
-everything outside "Changes to the Platform" and keep the reviewed narrative,
-unless I ask for a full rewrite.
+Always generate the whole note from scratch, also if the note file already
+exists (skill, 6).
diff --git a/.github/skills/release-note/SKILL.md b/.github/skills/release-note/SKILL.md
index acc1309182f..beda61da9bc 100644
--- a/.github/skills/release-note/SKILL.md
+++ b/.github/skills/release-note/SKILL.md
@@ -1,95 +1,114 @@
 ---
 name: release-note
-description: "How-to reference for creating the S-CORE platform release note (docs/s_core_v_1/releases/release_note_score_vX_Y.rst). Defines the document format, the data sources (known_good.json, merged PRs and removed files of this repository, module GitHub releases), the generator script for the deterministic parts and the rules for the AI-written narrative sections. Use when preparing, regenerating or reviewing a platform release note. The release-note agent orchestrates the run; this skill holds the 'how'."
+description: "How-to reference for creating the S-CORE platform release note (docs/s_core_v_1/releases/release_note_score_vX_Y.rst). Defines the document format, the data sources (known_good.json, merged PRs and removed files of reference_integration, module GitHub releases), the generator script for the deterministic parts and the rules for the AI-written narrative sections. Use when preparing, regenerating or reviewing a platform release note. The release-note agent orchestrates the run; this skill holds the 'how'."
 argument-hint: "release tag, e.g. v0.10.0 (and optionally origin tag)"
 ---
 
-# Platform Release Note — the "how"
+# Platform Release Note — rules
 
-Format basis: the official template `wp__platform_sw_release_note`
-(`process_description/process/folder_templates/platform/docs/release/release_note.rst`),
-adapted as described below. The **[release-note agent](../../agents/release-note.agent.md)**
-runs the procedure; this skill holds the rules.
+The [release-note agent](../../agents/release-note.agent.md) runs the procedure;
+this skill holds the rules. Template basis: `wp__platform_sw_release_note`
+(`process_description/process/folder_templates/platform/docs/release/release_note.rst`).
 
-## Document format
+## 1. Basics
 
-| Section | Source | Written by |
+### 1.1 Files
+
+| File | Role |
+|---|---|
+| `scripts/release_note/generate_release_note.py` | Generator: skeleton, tables, `--changes` table |
+| `scripts/release_note/architecture_diagram.py` | Diagram SVG and DR-003 maturity (called by the generator) |
+| `scripts/release_note/collect_changes.py` | Evidence for the narrative |
+| `docs/s_core_v_1/releases/release_note_score_v_.rst` | The note |
+| `docs/s_core_v_1/releases/_assets/architecture_v_.svg` | The diagram (generated) |
+| `docs/s_core_v_1/releases/releases.rst` | Release-note `toctree` (explicit list, release order) |
+
+### 1.2 Who writes what
+
+- **Script:** everything except the two narrative chapters.
+- **AI:** only *New Features* and *Breaking Changes* (the two `.. AI-FILL:` markers).
+- **Never** edit generated parts or write module versions or links by hand.
+  If generated content must change, change the generator (`IMAGES`,
+  `IMAGE_DOWNLOADS`, `ICONS`, fixed text in `render`) in a separate commit and
+  regenerate.
+
+## 2. Document structure
+
+Numbers in parentheses refer to sections of this skill.
+
+| Section | Content | Source |
 |---|---|---|
-| Status banner directly below the title: **DRAFT** (`.. warning::`, title suffix "(DRAFT)", `:status: draft`) or **FINAL** (`.. note::` with link to the release tag, `:status: valid`) | `--final` | script |
-| Header (`document` directive, Platform Name, Release Tag, Origin Release Tag, Release Date) | CLI args; Release Date = due date of the milestone `v.` in [eclipse-score/score](https://github.com/eclipse-score/score/milestones) | script |
-| Overview (fixed intro sentence) | release and origin tag | script |
-| Architecture diagram (figure in the Overview, SVG in `docs/s_core_v_1/releases/_assets/architecture_vX_Y.svg`) | `known_good.json` (release and origin), `images/`, components from `needs.json` | script (`architecture_diagram.py`) |
+| Status banner (below the title) | DRAFT or FINAL (3) | `--final` |
+| Header | `document` directive, platform name, release tag, origin tag, release date | CLI args, milestone (4.2) |
+| Overview | fixed intro sentence, architecture diagram (5), DR-003 sentence | release and origin tag |
 | Disclaimer | fixed text | script |
-| Changes to the Platform: New Features / Breaking Changes (platform-level only) | `collect_changes.py` (this repo's PRs, modules' own release notes, impact hints), `--changes` table | AI |
-| Reference Integration scope: Version, Source / tag, Release notes, Platform Verification Report (bullets) | release tag | script |
-| Integrated Software Modules (table incl. `score_platform` first; extra column Module verification report) | `known_good.json` group `target_sw` + `score_platform` | script |
-| Associated Infrastructure Modules (table) | `known_good.json` group `tooling` (without `score_platform`) | script |
-| Images (subchapter after the two module tables; table: Name, Download, How-to, Description) | `IMAGES` and `IMAGE_DOWNLOADS` in the script, release workflows and README/runner docs at the release ref | script |
-| Known Issues (module release notes, incomplete safety packages), Upgrade Instructions (registry hint, hint for commit pins, link to `known_good.json` at the tag), Contact | fixed text | script |
-
-The scope section describes this repository (reference_integration) and holds
-links only; no change narrative. Changes of this repository and of the images
-go into **Changes to the Platform**.
-
-Every chapter heading carries an icon (emoji); the mapping is `ICONS` in the
-script. When adding a chapter, add its icon there instead of typing it into the
-heading (the script also lengthens the underline for the double-width emoji).
-The title and the `~~~` item subsections have no icon.
-
-Module tables have the columns **Name** (link to the repo at the pinned
-tag/commit), **Version**, **Release notes** (one link per module release since
-the origin release, oldest first, see "Release range"; a module unchanged since
-the origin shows its current release). The Integrated Software Modules table has a fourth column **Module
-verification report**: a `:doc:` link taken from
-`docs/verification_report/modules/index.rst` (always the latest report in the
-current docs tree), `---` where the module has none (e.g. the platform). Every
-empty table cell is written as `---`.
-Modules that publish their verification evidence as dependable elements (with
-L.O.B.S.T.E.R. traceability reports) in their own versioned docs instead of an
-S-CORE module verification report are listed in `MODULE_DOCS`. For them the
-cell lists one link per dependable element, found in the `searchindex.js` of
-the module docs at the pinned tag (pages titled "Dependable element: ");
-`DEPENDABLE_ELEMENT_LABELS` sets the label and order. An unreleased pin or
-missing docs give a warning and `---`.
-Never write module versions or links by hand.
-
-Image table: the image catalogue (`IMAGES` in the script) lists name,
-`images/`, description and how-to candidates. An image is listed only if
-`images/` exists at the release ref. How-to is the first candidate that
-exists at the ref, else `---`.
-
-Download: images that a workflow uploads to the GitHub release of this
-repository are listed in `IMAGE_DOWNLOADS` (`images/` -> workflow, asset
-file name). The link is built from the release tag
-(`.../releases/download//`), because the assets are uploaded
-only when the release is published, after the note is final. The generator
-checks that the workflow at the release ref still uploads the asset; if not, it
-warns and writes `---`. All other images have `---`.
-
-When an image is added or renamed in `images/`, update `IMAGES`; when a
-workflow starts or stops uploading an image to the release, or renames the
-asset, update `IMAGE_DOWNLOADS`. Images published by upstream projects are not
-S-CORE images and are not listed.
-
-## Draft and final
-
-A note has one of two states. The release note is part of the release and is
-finalised before the tag is created, so the state is set explicitly:
-
-- **Draft** (default) while the release is in progress: the note shows the
-  current state of the release branch. Title suffix "(DRAFT)", a warning
-  banner on top and `:status: draft`.
-- **Final** with `--final`, only when the user says the note is final (content
-  frozen for the release). No title suffix, a note banner with the link to the
-  release tag and `:status: valid`.
-
-To make a draft final, refresh it with `--final` as described in "Run from
-scratch" and keep the reviewed narrative.
-
-## Generator
+| Changes to the Platform | *New Features*, *Breaking Changes* (platform-level only, 8) | **AI** |
+| Reference Integration scope | version, source/tag, release notes, Platform Verification Report (links only) | release tag |
+| Integrated Software Modules | table, `score_platform` first (2.2) | `known_good.json` group `target_sw` + `score_platform` |
+| Associated Infrastructure Modules | table (2.2) | `known_good.json` group `tooling` |
+| Images | table (2.3) | `IMAGES`, `IMAGE_DOWNLOADS`, release ref |
+| Known Issues, Upgrade Instructions, Contact | fixed text | script |
+
+### 2.1 Headings
+
+- Every chapter heading has an icon from `ICONS`; add a new chapter's icon
+  there (the script lengthens the underline for the double-width emoji).
+- The title and the `~~~` item subsections have no icon.
+- The scope section holds links only. Changes of reference_integration and of the
+  images go into *Changes to the Platform*.
+
+### 2.2 Module tables
+
+| Column | Content |
+|---|---|
+| Name | Link to the repository at the pinned tag or commit |
+| Version | `v`; hash pin: ` (unreleased)` (4.2) |
+| Release notes | One link per module release in the release range (7.3), oldest first; module unchanged since the origin: its current release |
+| Module verification report (Integrated Software Modules only) | `:doc:` link from `docs/verification_report/modules/index.rst`; for modules in `MODULE_DOCS`: one link per dependable element |
+
+- Empty cell: `---`.
+- `MODULE_DOCS` modules publish their evidence as dependable elements
+  (L.O.B.S.T.E.R. reports) in their own versioned docs. Links come from the
+  `searchindex.js` of those docs at the pinned tag (pages titled "Dependable
+  element: "); `DEPENDABLE_ELEMENT_LABELS` sets label and order.
+- Unreleased pin or missing module docs: warning and `---`.
+
+### 2.3 Images table
+
+| Column | Rule |
+|---|---|
+| Name, Description | From `IMAGES`; an image is listed only if `images/` exists at the release ref |
+| How-to | First how-to candidate that exists at the release ref, else `---` |
+| Download | Only images in `IMAGE_DOWNLOADS`: `.../releases/download//`, else `---` |
+
+- The download link points to the release tag because the assets are uploaded
+  when the release is published. The generator checks that the workflow at
+  the release ref still uploads the asset; if not: warning and `---`.
+- Image added or renamed in `images/` → update `IMAGES`.
+- Workflow starts or stops uploading an image, or renames the asset → update
+  `IMAGE_DOWNLOADS`.
+- Images of upstream projects are not S-CORE images; do not list them.
+
+## 3. Draft and final
+
+The note is finalised before the tag exists, so the state is set explicitly.
+
+| | Draft (default) | Final (`--final`) |
+|---|---|---|
+| When | Release in progress | Only when the user says the note is final |
+| Title | Suffix "(DRAFT)" | No suffix |
+| Banner | `.. warning::` | `.. note::` with link to the release tag |
+| `:status:` | `draft` | `valid` |
+| Diagram | DRAFT badge, "planned " | FINAL badge, "released " |
+
+- Draft → final: generate the note from scratch with `--final` (6).
+
+## 4. Generator
+
+### 4.1 Commands
 
 ```bash
-# Skeleton (known_good.json is read from the release tag if it exists, else the checked-out release branch)
+# Skeleton (tables, diagram, AI-FILL markers)
 python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin vX.W.0 \
     --output docs/s_core_v_1/releases/release_note_score_vX_Y.rst
 
@@ -97,312 +116,266 @@ python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin
 python3 scripts/release_note/generate_release_note.py --release vX.Y.0 --origin vX.W.0 --changes
 ```
 
-Behaviour worth knowing:
-
-- Tags are resolved with `git ls-remote --tags` on every module repo. A
-  `version` pin maps to `v` or `` and is shown as that release. A
-  `hash` pin is never shown as a release, even if a tag points at the same
-  commit (the integration does not use the registry version): the row shows
-  ` (unreleased)` and links the commit, and the diagram marks it as a
-  commit pin. A tag on that commit only bounds the release range, so the
-  *Release notes* column still lists the releases the commit contains. Report
-  such modules and propose to pin them by `version`.
-- The Release Date is always the due date of the milestone `v.`
-  (for `vX.Y.0`: milestone `vX.Y`) in eclipse-score/score. Do not pass `--date`;
-  it only exists as an override when the user asks for a different date. If
-  the milestone or its due date is missing, the script warns and writes `TBD`;
-  report this instead of guessing a date.
-- Warnings (`no tag for version ...`) on stderr mean a broken link. Fix the
-  `known_good.json` pin or report it, never silence it.
-- Modules with `"enabled": false` are skipped.
-- Unknown `known_good.json` groups abort the run; extend `SECTIONS` then.
-- The two narrative sections (New Features, Breaking Changes) are emitted as
-  `.. AI-FILL: ` comments.
-
-## Architecture diagram
-
-Every skeleton run renders the diagram from scratch
-(`scripts/release_note/architecture_diagram.py`, called by the generator) to
-`docs/s_core_v_1/releases/_assets/architecture_v_.svg` and embeds
-it with `.. figure::` in the Overview. The SVG is a generated file: never edit
-it by hand and never keep an old one; regenerate it with the skeleton.
-
-Content:
-
-- Header: release, DRAFT/FINAL badge (`--final`), release date, origin and key
-  figures (software modules, components, infrastructure modules, images).
-- Left column over the full height: platform, infrastructure and tooling
-  modules (`score_platform` + group `tooling`).
-- Right: the integrated software modules as tiles side by side (no layering),
-  each with version, the version in the origin release ("was ...") and its
-  components as chips; below them the target images (same catalogue as the
-  image table, dashed = experimental).
-- Colour bar: green = released tag, orange = commit pin; NEW = not in the origin
-  release.
-- Maturity badge (outlined, bottom right of each software module tile) and a
-  legend line with the count per level, see "Module maturity (DR-003)".
-
-Components come from the Sphinx-Needs of the `needs.json` of the **checked-out
-branch**: the generator runs `bazel build //:needs_json_file` (Bazel caches it
-and rebuilds only when the docs inputs changed; the first run takes a few
-minutes) and reads `bazel-bin/needs.json`. These are the module docs at the
-pins of the checkout, so components, versions and images describe the same
-state. It takes every `comp` need whose source lies in
-`modules//`, plus the `includes` of the module's `mod` need (a `mod`
-need outside the module docs, for example in `score_platform`, is matched by its
-title). Modules without such needs show "no components documented"; report
-them, do not add components by hand. If the Bazel build fails, the generator
-stops; fix the build instead of falling back to another `needs.json`.
-`--needs ` skips the build and is only for reproducing a diagram from a
-kept `needs.json`.
-
-The diagram is a pure function of its inputs: `known_good.json` at the release
-ref and at the origin tag, `images/` at the release ref, the `needs.json` of the
-checkout, the milestone date and the state (`--final`). There is no randomness,
-no timestamp and no layout state; the same inputs give a byte-identical SVG. To
-check, run the generator twice to a scratch output and `cmp` the SVG.
-Run it on the checked-out release branch without `--known-good-ref`; with
-another ref the components would still come from the checkout.
-Colours follow the S-CORE docs theme (header `#2D1942`); change them only in
-`architecture_diagram.py`.
-
-### Module maturity (DR-003)
-
-Every software module gets exactly one maturity classification of
-[DR-003-Strat](https://github.com/eclipse-score/score/blob/main/docs/design_decisions/strategy/DR-003-strat.md)
-(Release, Experimental, Preview). `assess_maturity()` in
-`architecture_diagram.py` derives it on every run from the same `needs.json`
-and the module docs, so a run from scratch always fills it in; never set it by
-hand. DR-003 leaves the line between minor and major deviations open, so the
-script applies this rule:
+### 4.2 Rules
+
+| Topic | Rule |
+|---|---|
+| `known_good.json` source | Release tag if it exists, else the checked-out release branch (working tree). Do not pass `--known-good-ref`. |
+| `version` pin | Resolved with `git ls-remote --tags` to `v` or ``; shown as that release. |
+| `hash` pin | Always ` (unreleased)` with a commit link, also if a tag points at the commit; the diagram marks it as commit pin. A tag on the commit only bounds the release range (7.3). Report the module and propose a `version` pin. |
+| Release date | Due date of the milestone `v.` in [eclipse-score/score](https://github.com/eclipse-score/score/milestones). Do not pass `--date` unless the user asks. Missing milestone or due date: `TBD` and a warning; report it, never guess. |
+| stderr warnings | Mean a broken link (e.g. `no tag for version ...`). Fix the pin or report it; never silence it. |
+| `"enabled": false` | Module is skipped. |
+| Unknown `known_good.json` group | Run aborts; extend `SECTIONS`. |
+| Narrative | Emitted as `.. AI-FILL: ` comments. |
+
+## 5. Architecture diagram
+
+### 5.1 Rules
+
+- Every skeleton run renders it (`architecture_diagram.py`) and embeds it with
+  `.. figure::` in the Overview.
+- Generated file: never edit it by hand, never keep an old one.
+- Run on the checked-out release branch without `--known-good-ref`; with
+  another ref the components would still come from the checkout.
+- Colours follow the S-CORE docs theme (header `#2D1942`); change them only in
+  `architecture_diagram.py`.
+
+### 5.2 Content
+
+| Area | Content |
+|---|---|
+| Header | Release, DRAFT/FINAL badge, release date, origin, key figures (software modules, components, infrastructure modules, images) |
+| Left column | `score_platform` and group `tooling` |
+| Right | Software modules as tiles side by side: version, origin version ("was ..."), components as chips, maturity badge (5.5); below: target images (dashed = experimental) |
+| Colour bar | Green = released tag, orange = commit pin; NEW = not in the origin release |
+| Legend | Count of modules per maturity level |
+| Footer | Commit of the checkout (changes with every commit) |
+
+### 5.3 Components
+
+- Source: `needs.json` of the checkout. The generator runs
+  `bazel build //:needs_json_file` and reads `bazel-bin/needs.json` (cached;
+  the first run takes minutes).
+- Taken: every `comp` need in `modules//`, plus the `includes` of
+  the module's `mod` need (a `mod` need outside the module docs is matched by
+  its title).
+- No components found: tile shows "no components documented"; report it, do
+  not add components by hand.
+- Bazel build fails: the generator stops. Fix the build; do not use another
+  `needs.json`.
+- `--needs ` skips the build; only for reproducing a diagram from a kept
+  `needs.json`.
+
+### 5.4 Determinism
+
+- Inputs: `known_good.json` at the release ref and at the origin tag, `images/`
+  at the release ref, `needs.json` of the checkout, milestone date, state.
+- Same inputs give a byte-identical SVG (no randomness, no timestamp). Check:
+  generate twice to a scratch path and `cmp`.
+
+### 5.5 Module maturity (DR-003)
+
+Every software module gets exactly one level of
+[DR-003-Strat](https://github.com/eclipse-score/score/blob/main/docs/design_decisions/strategy/DR-003-strat.md).
+`assess_maturity()` derives it on every run from `needs.json` and the module
+docs.
 
 | Level | Rule |
 |---|---|
-| Preview | No verification report: neither a `mod_ver_report` need in `modules//` (S-CORE module verification report) nor dependable elements in the module's own docs (`MODULE_DOCS`, L.O.B.S.T.E.R. traceability reports). No quality statement possible. |
-| Experimental | A verification report exists and makes the gaps transparent (untested or uninspected requirements, missing safety analyses or checklists). |
-| Release | Report exists and every component requirement of the module is fully verified (`fully_verifies_back`) and inspected (`valid_inspected`; QM: `valid`). |
-
-The locally built `needs.json` carries no test results, so the script cannot
-assign Release. Before a final note, check the module verification reports of
-the release branch CI docs build (`github-pages-` artifact of "Code Quality
-& Documentation"): report modules that would meet Release, and the borderline
-Experimental modules (report present but no FMEA/DFA, for example). Change the
-rule in `assess_maturity()` only after agreement, never the result. The note
-links DR-003 below the figure (fixed text of the generator).
-
-## Run from scratch (any release, also for not yet tagged ones)
-
-The procedure is identical for existing and new releases; only the inputs differ.
-In chat, the prompt `/release-note` (`.github/prompts/release-note.prompt.md`)
-asks for release, origin and state (`draft` or `final`) and starts the agent.
-
-1. **Inputs.** `release` and `origin` tag and the output file
-   `docs/s_core_v_1/releases/release_note_score_v_.rst`. The
-   release date is taken from the milestone (see above).
-2. **Prepare.** Check out the release candidate branch of the release and
-   update it (`git pull`, `git fetch --tags`). The note is created and
-   committed only there; it reaches `main` when the release branch is merged
-   back after the release. Never add a release note on `main` directly, it
-   would conflict with that merge. Both scripts read the checked-out state by
-   default; the release branch must be pushed, because the collector compares
-   commits through the GitHub API. Set `GITHUB_TOKEN` for the GitHub API calls
-   (anonymous access is rate limited); never print it.
-3. **Skeleton.** Run the generator (see above); it also builds the
-   `needs.json` of the checkout with Bazel and writes the architecture diagram
-   (see "Architecture diagram"). Check the stderr warnings.
-4. **Evidence.** Run `collect_changes.py` with the same `--release` and
-   `--origin`, plus the `--changes` table. Runtime is a few minutes.
-5. **Narrative.** Replace the two `AI-FILL` markers (New Features, Breaking
-   Changes) with the rules below. Nothing else in the file is written by hand.
-6. **Index.** Add the new note as the **last** entry of the release-note
-   `toctree` in `docs/s_core_v_1/releases/releases.rst` on the release branch.
-   The toctree lists the notes explicitly in release order; a glob would sort
-   `v0_10` before `v0_5`.
-7. **Validate** (checklist below) and report.
-
-An existing note is never overwritten unless the user asks for it; to compare,
-write to another path. To refresh the tables of an existing draft (for example
-after pin bumps, or to make it final with `--final`), generate to
-another path and replace everything outside "Changes to the Platform"; keep the
-reviewed narrative. The diagram SVG is always overwritten by the run, so it
-matches the refreshed tables. Then run `collect_changes.py` again and add items
-for evidence that is not covered yet (new PRs or direct commits on the release
-branch); keep the reviewed items unless their evidence changed.
-
-Everything outside "Changes to the Platform" is generated, including Images,
-Known Issues and Upgrade Instructions. Lines added there by hand are lost on
-the next refresh: carry them into the generator (`IMAGES`, `IMAGE_DOWNLOADS` or
-the fixed text in `render`) in a separate commit and regenerate.
-
-Re-running with the same inputs gives the same tables and chapter structure.
-The narrative may be worded differently, but it has to name the same items as
-long as the evidence did not change.
-
-## Writing the narrative (AI-FILL)
-
-"Changes to the Platform" has exactly two chapters: **New Features** and
-**Breaking Changes**. It lists **platform-level** changes only. The release note
-already links the release notes of every module, so module internals are not
-repeated here.
-
-What is platform-level:
-
-1. Module set: newly integrated, removed or renamed modules and major version
-   jumps (from the `--changes` table of `generate_release_note.py`).
-2. Changes of this repository (reference_integration): new or changed images and
-   platforms, Bazel/toolchain updates, build and integration mechanisms, new
-   demos, documentation or process deliverables.
-3. Cross-module changes: the same change in several modules (for example a
-   dependency that all modules replace). Identical PR titles in several repos,
-   or a module's release note, point to them.
-4. Breaking changes of a module **with impact on integrators or other modules**,
-   for example a removed flag that `known_good.json` still sets. Breaking changes
-   without such impact stay in the module's own release note.
-
-Evidence:
+| Preview | No verification report: neither a `mod_ver_report` need in `modules//` nor dependable elements (`MODULE_DOCS`). |
+| Experimental | A verification report exists and shows gaps (untested or uninspected requirements, missing safety analyses or checklists). |
+| Release | Report exists and every component requirement is fully verified (`fully_verifies_back`) and inspected (`valid_inspected`; QM: `valid`). |
+
+- Never set a level by hand. Change the rule in `assess_maturity()` only after
+  agreement, never the result.
+- The local `needs.json` has no test results, so Release cannot be assigned
+  locally. Before a final note, check the module verification reports of the
+  CI docs build of the release branch (`github-pages-` artifact of "Code
+  Quality & Documentation") and report modules that would meet Release and
+  borderline Experimental modules (e.g. report without FMEA/DFA).
+- The note links DR-003 below the figure (fixed text of the generator).
+
+## 6. Always from scratch
+
+Every run creates the whole note anew, also when it already exists (pin bumps,
+new commits on the release branch, draft → final).
+
+1. Write the skeleton directly to the note path; it replaces the existing note.
+   The SVG is replaced as well.
+2. Run `collect_changes.py` (7) and write both narrative chapters anew from the
+   evidence (8). Do not copy items from the previous version of the note.
+3. Lines added by hand anywhere in the note are lost: generated content goes
+   into the generator (1.2), narrative content must follow from the evidence.
+4. Before replacing, compare with the previous version (`git diff`) and name
+   items that disappeared or changed in the report.
+
+## 7. Evidence (`collect_changes.py`)
+
+### 7.1 Command and options
 
 ```bash
 python3 scripts/release_note/collect_changes.py --release vX.Y.0 --origin vX.W.0 --output changes.md
 ```
 
-The evidence of this repository covers the commit range from the origin tag to
-the checked-out release branch (not `main`). The output has one section for
-the merged PRs and closed issues of this repository, one for the **commits
-without PR** in that range (commits pushed directly to the release candidate
-branch, with their changed files; commits that only touch
-`docs/s_core_v_1/releases/` are skipped), one for the files of this repository
-that were removed or renamed
-(per directory, without `docs/` and `patches/`), and one section per changed
-module with the **breaking** and **new-feature** parts of the module's own
-GitHub release notes, for **every** module release since the origin release
-("Release range" below), not only the pinned one. For every
-breaking part the script lists "impact hints": places in this repository that
-mention a flag, label or symbol named there. `--module ` restricts the run,
-`--module-prs` adds the merged PRs of a module (slow, only for a deep dive),
-`--include-infra` adds the infrastructure modules.
-
-Release range: `releases_between()` in `generate_release_note.py` is shared by
-the tables and the collector, so both always name the same releases. Candidates
-are the published GitHub releases between the origin tag and the pinned tag; a
-release counts if the pinned commit contains its tag and the origin commit does
-not (GitHub compare), so releases on maintenance branches are skipped and a
-release is still found when the origin was tagged on a side commit. Tags
-without GitHub release have no release notes and are not listed.
-
-Per release the collector prints the sections whose heading names breaking
-changes, deprecations, removals, public API changes, migrations or features,
-then "Candidate lines" (list items elsewhere in a hand-written text that mention
-a removal, rename, deprecation, breaking change or feature), and then the
-**release scope**: every PR of the release's generated "What's Changed" list,
-marked `review` or `skip? ()`. Read all releases of the range; a
-breaking change of an intermediate release is still breaking for an integrator
-coming from the origin release.
-
-Module releases are classified like the Baselibs release-notes skill
-(eclipse-score/baselibs `.agents/skills/release-notes-skill/SKILL.md`) does it:
-
-1. **Scope.** The "What's Changed" list is the scope of a module release. If a
-   release has no such list ("scope cannot be determined"), use its curated
-   sections and candidate lines only, and say so in the report; do not
-   reconstruct the scope from `git log` or a comparison view.
-2. **Read every PR to review.** Fetch title, body and author
-   (`GET /repos///pulls/` with `GITHUB_TOKEN`; `gh` is not
-   required). When title and body do not support a precise statement, read the
-   diff (`GET .../pulls/` with `Accept: application/vnd.github.diff`, or
-   `git show` in a local clone) before writing about it.
-3. **Skip**: CI/workflow-only PRs, dependency bumps (bots such as
-   `eclipse-score-bot`, `renovate`, `dependabot`), Bazel visibility-only
-   changes, requirements/doc-only PRs, internal repo-sync or agent-tooling PRs,
-   and anything that nets to zero across the range (a change reverted again).
-   The `skip?` marks of the collector are title-based hints; confirm them.
-4. **Notable**: breaking API or behaviour changes and deprecations, new public
-   features or libraries, and anything that continues or completes a change an
-   earlier release note announced (for example a deprecation in one release
-   and the removal in a later one; the earlier platform release note's
-   announcements count too). User-visible bug fixes are notable for the module,
-   but this note has no bug-fix chapter; they stay in the module release notes.
-5. **Platform filter.** Of the notable items, only those that pass the
-   platform-level rules below go into the note.
-
-Classification:
-
-- Impact hints are leads, not verdicts. A hint is only meaningful if the hit really
-  uses what the module removed or changed (for example a flag set in
-  `known_good.json` or `.bazelrc` that the release note says was removed). A hit
-  that merely shares a name (a different configuration with a similar name) is a
-  false alarm; ignore it.
-- **Breaking**:
-  - this repository: a removed or renamed script, target, configuration file or
-    mechanism, in particular one that an earlier release note announced. The
-    "removed or renamed files" section points to them; read the PR that removed
-    them.
-  - a module: a removed or renamed module, target, flag or public API, or
-    changed behaviour requiring action, as stated in the module's release note
-    ("breaking" section). List it if this repository uses it (impact hint) or
-    if it is a public API that applications use directly; say which of the two
-    applies. Changes of internals stay in the module's release note.
-- **New feature**: new module, platform, image, integration capability or
-  deliverable; or a module feature that is visible across the platform.
-- Anything else is omitted. When unsure, omit it and name it in the final report.
-- PR labels like `breaking` or `feature` are not used consistently; decide from
-  title, description and the module's release note.
-- Commits without PR are classified like PRs; read the commit (`git show`)
-  because the subject is often short. Pure pin bumps are already covered by the
-  `--changes` table and the module sections.
-
-Rules:
-
-- Only state facts found in the evidence. No invented features, dates or versions.
-  Read the PR description before describing a PR; the title alone is not enough
-  (a PR may replace something instead of extending it).
-- One `~~~` subsection per item with a short noun-phrase title, written for
-  integrators; link to the PR, issue, commit (for commits without PR) or the
-  module's release note as RST links
-  (`` `text `__ ``). Name new scripts, targets or settings that
-  integrators use.
-- Order of the items: module set, integration and build, images and platforms,
-  tests, documentation; breaking changes of this repository before those of
-  the modules (one subsection per module, in table order).
-- Breaking changes end with "Action required: ...".
-- Remove **Breaking Changes** only if there is none; never leave an `AI-FILL`
-  marker behind (`grep -n AI-FILL ` must be empty).
-- Report items you left out although they looked relevant, and modules without
-  releases in the range.
-
-Known limits of the evidence:
-
-- Only some modules structure their GitHub release notes with "Breaking
-  changes" and "New features" sections; others only have
-  GitHub's generated PR list, which is then the only module-level evidence. If
-  the collector prints "No breaking/new-feature items and no PR list", there is
-  no module-level evidence, and you must say so in the report instead of
-  guessing.
-- A release scope can be long. Reading every `review` PR is required; report
-  how many PRs per module you read.
-- GitHub generates "What's Changed" against the previous tag it finds; when the
-  origin was tagged on a side commit, the list can contain PRs that were
-  already in the origin release. Drop a PR if the origin release note already
-  lists it.
-- Hash-pinned modules (` (unreleased)`) have releases only up to their
-  latest tag; changes after it are not covered by release notes.
-- Impact hints search `known_good.json`, `.bazelrc`, `bazel_common`, `patches`,
-  `images`, `showcases` and the integration tests; they do not understand code.
-
-## Validation
-
-- `grep -n "AI-FILL" ` is empty.
-- The Overview contains the `.. figure::` of the diagram and the SVG
-  `docs/s_core_v_1/releases/_assets/architecture_v_.svg` was
-  written by this run (it is committed together with the note).
-- The diagram shows a maturity badge on every software module and the Overview
-  links DR-003; the generator prints the `maturity (DR-003): ...` line.
-- The new note is the last entry of the release-note `toctree` in `releases.rst`.
-- The Download column links every image of `IMAGE_DOWNLOADS` (no generator
-  warning about a missing asset upload).
-- Every `~~~` item and every bullet names a PR, issue, commit or release note link.
-- Every new module of the `--changes` table and every removed mechanism of this
-  repository is either in the note or named in the report.
-- No stderr warnings of the generator; `(unreleased)` rows are named in the report.
-- The scope links point to the release tag.
-- Docs build: `bazel run --lockfile_mode=error //:docs_shim -- --github_user=eclipse-score --github_repo=reference_integration`
-  (heavy; optional locally, CI runs it).
+| Option | Effect |
+|---|---|
+| `--module ` | Restrict the module sections (repeatable) |
+| `--include-infra` | Also cover the infrastructure modules |
+| `--module-prs` | Also list all merged PRs of a module (slow, deep dive only) |
+
+Prerequisites: release branch pushed (the collector compares commits through
+the GitHub API), `GITHUB_TOKEN` set and never printed.
+
+### 7.2 Output sections
+
+| Section | Content |
+|---|---|
+| reference_integration | Merged PRs and closed issues, origin tag → checked-out release branch (not `main`) |
+| Commits without PR | Direct commits on the release branch with changed files; commits that only touch `docs/s_core_v_1/releases/` are skipped |
+| Removed or renamed files | Per directory, without `docs/` and `patches/` |
+| Per changed module, per release in the range | 1. headed sections (breaking, deprecations, removals, public API, migrations, features); 2. *Candidate lines* (matching list items elsewhere in the text); 3. *Release scope*: every PR of "What's Changed", marked `review` or `skip? ()`; impact hints for breaking parts |
+
+### 7.3 Release range
+
+- `releases_between()` (generator) is shared by the tables and the collector;
+  both always name the same releases.
+- Candidates: published GitHub releases between the origin tag and the pinned
+  tag.
+- A release counts if the pinned commit contains its tag and the origin commit
+  does not (GitHub compare). Releases on maintenance branches are skipped; a
+  release is still found when the origin was tagged on a side commit.
+- Tags without a GitHub release are not listed.
+- Read **all** releases in the range: a breaking change of an intermediate
+  release is still breaking for an integrator coming from the origin.
+
+## 8. Narrative (AI-FILL)
+
+*Changes to the Platform* has exactly two chapters, *New Features* and
+*Breaking Changes*, with **platform-level** changes only. Module internals stay
+in the module release notes, which the tables link.
+
+### 8.1 What is platform-level
+
+1. **Module set:** new, removed or renamed modules; major version jumps
+   (`--changes` table).
+2. **reference_integration:** images and platforms, Bazel/toolchain updates, build
+   and integration mechanisms, demos, documentation or process deliverables.
+3. **Cross-module changes:** the same change in several modules (identical PR
+   titles in several repos, or a module's release note, point to them).
+4. **Module breaking changes with impact on integrators or other modules**
+   (e.g. a removed flag that `known_good.json` still sets).
+
+### 8.2 Classify each release separately
+
+Classify every module release in **its own pass**: one module, one release,
+nothing else in view. Do not mix PRs or release texts of other modules or
+releases into a pass; this keeps the context small and the decisions
+independent. The evidence of reference_integration (PRs, commits without PR,
+removed files) is one more pass. Same method as the Baselibs release-notes
+skill (eclipse-score/baselibs `.agents/skills/release-notes-skill/SKILL.md`).
+
+Steps of one pass:
+
+| Step | Rule |
+|---|---|
+| 1. Scope | The "What's Changed" list is the scope. Without it ("scope cannot be determined"): use only the headed sections and candidate lines and say so in the report; do not reconstruct the scope from `git log` or a compare view. |
+| 2. Read | Read every `review` PR: title, body, author (`GET /repos///pulls/`). If that is not precise enough, read the diff (`Accept: application/vnd.github.diff` or `git show`). Commits without PR: read them with `git show`. |
+| 3. Skip | CI/workflow-only, dependency bumps (`eclipse-score-bot`, `renovate`, `dependabot`), Bazel visibility-only, requirements/doc-only, repo-sync or agent-tooling PRs, pure pin bumps (covered by the tables). Confirm the collector's `skip?` marks; they are title-based. |
+| 4. Notable | Breaking API or behaviour changes, deprecations, new public features or libraries, removed or renamed mechanisms of reference_integration. Bug fixes are not notable for this note. |
+| 5. Record | For each notable item one line: module, release, link (PR, commit or release note), proposed class (breaking or feature), impact-hint verdict (8.3). Every single statement of the headed sections "Breaking", "Upgrade instructions", "Removed" and "Deprecated" is its own candidate line; do not combine them. |
+
+Result of each pass: a candidate list. No platform filter and no wording yet.
+
+### 8.3 Merge and decide
+
+Put the candidate lists of all passes together, then decide per item:
+
+1. **Merge** related candidates into one item:
+   - the same change in several modules → one cross-module item (8.1);
+   - a deprecation in one release and the removal in a later one, or a
+     follow-up of an announcement in the previous platform release note →
+     one item;
+   - a change reverted in a later release of the range → drop both.
+2. **Filter**: keep only platform-level items (8.1); add the module set
+   changes from the `--changes` table.
+3. **Classify** with the table below.
+4. **Account for every candidate**: each candidate line ends either in the
+   note or in the omitted list of the report, with the reason. Merging (1)
+   keeps the content of all merged candidates; no candidate is dropped
+   silently.
+
+| Class | Criteria |
+|---|---|
+| Breaking — reference_integration | Removed or renamed script, target, configuration file or mechanism (see "Removed or renamed files"; read the PR that removed it), especially if an earlier note announced it. |
+| Breaking — module | Removed or renamed module, target, flag or public API, or changed behaviour that requires action. List it only if reference_integration uses it (impact hint) **or** applications use it directly; say which applies. |
+| New feature | New module, platform, image, integration capability or deliverable; or a module feature visible across the platform. |
+| Omit | Everything else. When unsure: omit and name it in the report. |
+
+- **Impact hints** are leads, not verdicts: valid only if the hit really uses
+  what was removed or changed; a hit that merely shares a name is a false
+  alarm.
+- **PR labels** (`breaking`, `feature`) are not used consistently; decide from
+  title, description and the module release note.
+
+### 8.4 Writing rules
+
+- State only facts from the evidence; no invented features, dates or versions.
+  Read the PR description, not only the title.
+- One `~~~` subsection per item: short noun-phrase title, written for
+  integrators, with RST links (`` `text `__ ``) to the PR, issue, commit
+  or module release note. Name new scripts, targets and settings.
+- Order: module set → integration and build → images and platforms → tests →
+  documentation. Breaking changes: reference_integration first, then one subsection
+  per module in table order.
+- Every breaking change ends with "Action required: ...".
+- Name the repository: write ``reference_integration``, never "this
+  repository" (the note is read outside the repository, too).
+- How reference_integration itself handles a change (patch, workaround, flag
+  it still sets, excluded tests) goes into a ``.. note::`` block in the item,
+  starting with "Important for integrators:". Use it only when this is
+  relevant for integrators; the change itself stays in the item text.
+- Remove *Breaking Changes* only if there is none. No `AI-FILL` marker may
+  remain.
+- Same inputs → same items: the wording may differ, the items may not.
+
+### 8.5 Known limits of the evidence
+
+| Limit | Consequence |
+|---|---|
+| Many modules have no "Breaking"/"New features" sections, only "What's Changed" | The PR list is the only module evidence. "No breaking/new-feature items and no PR list" means no evidence: say so in the report, do not guess. |
+| Long release scopes | Reading every `review` PR is still required; report how many PRs per module you read. |
+| Origin tagged on a side commit | "What's Changed" may contain PRs already in the origin; drop PRs the origin release note already lists. |
+| Hash pins | Release notes cover only up to the latest tag on the commit; later changes are not covered. |
+| Impact hints | Search `known_good.json`, `.bazelrc`, `bazel_common`, `patches`, `images`, `showcases` and the integration tests; they do not understand code. |
+
+## 9. Validation and report
+
+Checks:
+
+- [ ] `grep -n "AI-FILL" ` is empty.
+- [ ] Overview has the `.. figure::`; the SVG was written by this run and is
+      committed with the note.
+- [ ] Every software module has a maturity badge; the generator printed
+      `maturity (DR-003): ...`; the Overview links DR-003.
+- [ ] The note is the last entry of the release-note `toctree` in
+      `releases.rst` (explicit list; a glob would sort `v0_10` before `v0_5`).
+- [ ] The Download column links every image of `IMAGE_DOWNLOADS`.
+- [ ] Every `~~~` item and bullet has a PR, issue, commit or release-note link.
+- [ ] Every new module of the `--changes` table and every removed mechanism of
+      reference_integration is in the note or in the report.
+- [ ] Every breaking candidate of 8.2 is in the note or in the omitted list
+      of the report (8.3, step 4).
+- [ ] No generator warnings on stderr.
+- [ ] Scope links point to the release tag.
+- [ ] Optional (heavy, CI runs it): `bazel run --lockfile_mode=error //:docs_shim -- --github_user=eclipse-score --github_repo=reference_integration`.
+
+Report:
+
+- Omitted candidates, each with module, release, link and reason (8.3, step 4).
+- Items that disappeared or changed compared to the previous version of the
+  note (6).
+- Modules without releases in the range, and modules without module-level
+  evidence.
+- `(unreleased)` rows (hash pins) with a proposed `version` pin.
+- PRs read per module.

From 3a7e7781d11f1250bc7c901482cedfbfaa69139d Mon Sep 17 00:00:00 2001
From: Anton Krivoborodov 
Date: Tue, 3 Nov 2026 21:08:17 +0000
Subject: [PATCH 78/80] Release note v0.10: regenerate final note from scratch

---
 .../releases/_assets/architecture_v0_10.svg   |   2 +-
 .../releases/release_note_score_v0_10.rst     | 330 ++++++++++--------
 2 files changed, 182 insertions(+), 150 deletions(-)

diff --git a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
index 29c30854f29..440033580dd 100644
--- a/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
+++ b/docs/s_core_v_1/releases/_assets/architecture_v0_10.svg
@@ -235,7 +235,7 @@
 NEW
 new since v0.9.0  (2)
 was … = version in v0.9.0
-generated from known_good.json @ e3f1099ad1b
+generated from known_good.json @ 8c9857df989
 Module maturity (DR-003):
 RELEASE
 (0)
diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 87c5d17ff7a..89475621b55 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -72,58 +72,53 @@ New infrastructure module: Tools
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 ``score_tools`` (`eclipse-score/tools `__)
-is now part of ``known_good.json``. Persistency's test BUILD files load
-``@score_tools//score_pytest``, so the reference integration needs it as a
-regular dependency
+is part of ``known_good.json``. Persistency's test BUILD files load
+``@score_tools//score_pytest``, which moved there from Docs-as-code, so
+``reference_integration`` needs it as a regular dependency
 (`#388 `__).
 
 New infrastructure module: Devcontainer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 ``score_devcontainer`` (`eclipse-score/devcontainer `__)
-is now pinned in ``known_good.json``; the reference integration uses devcontainer
-``1.11.4``, and ``scripts/module_tests.py`` raises the modules' own
-``score_devcontainer`` dependency to this version
+is pinned in ``known_good.json`` at ``1.11.4``; ``scripts/module_tests.py``
+raises the modules' own ``score_devcontainer`` dependency to this version
 (`#438 `__).
 
 Bazel 8.8.2
 ~~~~~~~~~~~
 
-The reference integration builds with Bazel ``8.8.2`` instead of ``8.6.0``
+``reference_integration`` builds with Bazel ``8.8.2`` instead of ``8.6.0``
 (``.bazelversion``)
 (`#436 `__).
 
 Integration Strategy (DR-008) test workflow
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The reference integration no longer runs the unit tests of all modules inside
-its own workspace. Each target software module now runs its own test suite in
-its own workspace, against the dependency versions resolved by the reference
-integration
+Each target software module runs its own test suite in its own workspace,
+against the dependency versions of ``reference_integration``, instead of
+inside the workspace of ``reference_integration``. This implements the parts
+of DR-008 that the v0.9 release note left for a follow-up release
 (`#398 `__):
 
 - ``scripts/module_tests.py run `` fetches the module at its
-  ``known_good.json`` pin with the integration patches applied, pins its direct
-  dependencies to the versions of the reference integration
-  (``--override_module``) and runs ``bazel coverage`` with the shared
-  configuration from ``bazel_common/unified.bazelrc`` and
-  ``bazel_common/unified_toolchains.MODULE.bazel``. Coverage builds C++ with
-  clang (LLVM); regular builds stay on GCC.
+  ``known_good.json`` pin with the integration patches, pins its direct
+  dependencies to the versions of ``reference_integration``
+  (``--override_module``) and runs ``bazel coverage`` with
+  ``bazel_common/unified.bazelrc`` and
+  ``bazel_common/unified_toolchains.MODULE.bazel``.
 - The ``module_tests.yml`` workflow runs one job per module and feeds the
   results into the unit test summary and the documentation.
-- Module-specific test exclusions are documented in the ``metadata.test_notes``
-  field of ``known_good.json``.
-- If the ``UBUNTU_SNAPSHOT_MIRROR_URL`` secret is set, the module test jobs
-  download Ubuntu snapshot packages from a mirror first
+- Module-specific test exclusions are documented in ``metadata.test_notes`` of
+  ``known_good.json``.
+- With the secret ``UBUNTU_SNAPSHOT_MIRROR_URL`` the module test jobs download
+  Ubuntu snapshot packages from a mirror first
   (`#429 `__).
 
-This implements the parts of DR-008 that the v0.9 release note left for a
-follow-up release.
-
 Software Bill of Materials (SBOM)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The reference integration generates an SBOM with
+``reference_integration`` generates an SBOM with
 `score_sbom `__ ``0.1.1`` and uploads it
 as a CI build artifact
 (`#304 `__,
@@ -136,7 +131,7 @@ Reference images
 - The QNX images use ``score_rules_imagefs`` ``0.1.0``; host files are placed
   with ``rules_pkg`` ``pkg_files`` targets
   (`#349 `__).
-- The QNX and Linux image definitions were deduplicated into shared packages:
+- The QNX and Linux image definitions share the packages
   ``//images/common/apps``, ``//images/qnx_common/build`` and
   ``//images/qnx_common/configs``
   (`#389 `__).
@@ -149,29 +144,27 @@ Platform integration tests
 
 The new ``//platform_integration_tests:pit`` suite runs the ``//showcases``
 applications for Communication, Kyron, Lifecycle, Logging and Time on the target
-image (Docker on Linux x86_64, QEMU on QNX x86_64). Each test is linked to the
-platform stakeholder requirement it demonstrates; the platform verification
-report shows them in a new "Stakeholder Requirements" chapter
+image (Docker on Linux x86_64, QEMU on QNX x86_64). Each test links the platform
+stakeholder requirement it demonstrates; the platform verification report shows
+them in the chapter "Stakeholder Requirements"
 (`#377 `__).
 
 Requirement coverage from module tests
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The Lifecycle integration tests, the Logging component tests and the Persistency
-component integration tests are executed by the reference integration, so their
+``reference_integration`` executes the Lifecycle integration tests, the Logging
+component tests and the Persistency component integration tests, so their
 ``PartiallyVerifies``/``FullyVerifies`` links appear in the verification reports
-(`#385 `__).
-The Logging tests run after fixing the packaging of the datarouter
-configuration
-(`#387 `__).
+(`#385 `__,
+`#387 `__).
 
 Qualified coverage tool in the modules
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Baselibs, Kyron, Persistency and Time measure their coverage with the qualified
+Baselibs, Kyron, Persistency and Time measure coverage with the qualified
 ``score_coverage`` module
-(`eclipse-score/coverage_tool `__),
-which replaces the coverage pipeline of ``score_tooling``. One
+(`eclipse-score/coverage_tool `__)
+instead of the coverage pipeline of ``score_tooling``. One
 ``bazel coverage --config=llvm_cov`` run reports line and branch coverage for
 C++ and Rust, lists untested files with 0 % and supports coverage
 justifications
@@ -180,17 +173,17 @@ justifications
 `persistency#450 `__,
 `time#235 `__).
 
-Lifecycle control interface for State Managers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Lifecycle: control interface for State Managers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Lifecycle provides the new ``ILmControl`` API, with which State Managers
+Lifecycle provides the ``ILmControl`` API, with which State Managers
 communicate with the Launch Manager over ``mw::com``
 (`Lifecycle v0.8.0 release notes `__).
 
 Logging: Linux syslog backend
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-``mw::log`` has a Linux ``syslog(3)`` backend for ``LogMode::kSystem``. It uses
+``mw::log`` has a Linux ``syslog(3)`` backend for ``LogMode::kSystem``, based on
 the new ``score::os::Syslog`` wrapper of Baselibs
 (`logging#271 `__,
 `baselibs#502 `__).
@@ -200,24 +193,23 @@ ITF: QEMU plugin for Linux images
 
 The QEMU plugin of ITF ``v0.6.0`` boots Linux images in addition to QNX images
 (EB corbos Linux for aarch64 and Ubuntu, with image definitions from
-``os_images``). It accepts an additional disk image with the test binaries and
-their data and has a hook for extra QEMU arguments
-(`itf#123 `__,
+``os_images``), accepts an additional disk image with the test binaries and
+their data, and has a hook for extra QEMU arguments
+(`itf#122 `__,
+`itf#123 `__,
 `itf#135 `__,
-`itf#139 `__,
-`itf#122 `__).
+`itf#139 `__).
 
 Module maturity classification (DR-003)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The architecture diagram of this release note shows the maturity of each
-software module (Release, Experimental, Preview) as defined in
+The architecture diagram shows the maturity of each software module (Release,
+Experimental, Preview) as defined in
 `DR-003-Strat `__.
-The level is derived from the documentation of the module: without a module
-verification report and without dependable element documentation a module is
-Preview; if all its component requirements are fully verified and inspected it
-is Release; otherwise it is Experimental. This follows up on the maturity levels
-announced in the v0.8 release note
+A module without module verification report and without dependable element
+documentation is Preview; a module whose component requirements are all fully
+verified and inspected is Release; all other modules are Experimental. This
+follows up on the maturity levels announced in the v0.8 release note
 (`842d366 `__).
 
 Documentation and reports
@@ -227,9 +219,10 @@ Documentation and reports
   (``bazel_common/docs_bundles.bzl``); the Time documentation is included
   (`#337 `__,
   `#348 `__).
-- Module verification reports (Baselibs, Lifecycle, Logging, Persistency) are
-  linked from a common index; the unit test and coverage summaries are part of
-  the Platform Verification Report; the status dashboard uses branch-aware links
+- The module verification reports (Baselibs, Lifecycle, Logging, Persistency)
+  are linked from a common index; the unit test and coverage summaries are part
+  of the Platform Verification Report; the status dashboard uses branch-aware
+  links
   (`#342 `__,
   `#358 `__,
   `#373 `__).
@@ -238,28 +231,29 @@ Documentation and reports
   (`Docs-as-code v8.2.0 release notes `__).
 - The module tests export the coverage reports of Baselibs, Persistency,
   Logging, Kyron, Lifecycle and Time and combine them into one LCOV file
-  (``coverage-report/coverage_report.dat``) that the documentation build reads,
-  so the measured module coverage appears in the documentation; Communication
-  and Configuration Management run their tests without coverage
+  (``coverage-report/coverage_report.dat``) that the documentation build reads;
+  Communication and Configuration Management run their tests without coverage
   (`#425 `__).
+- The documentation of the Communication dependable elements is published via
+  the module test artifacts and linked from the module documentation index
+  (``metadata.dependable_element_docs`` in ``known_good.json``)
+  (`bbf95e3 `__,
+  `d612b38 `__).
 - The Overall Status page was replaced by the Release-wide Progress Overview
   next to the release notes, with release-over-release charts per module
   (`#392 `__).
-- The documentation of the Communication dependable element is published via
-  the module test artifacts and linked from the module documentation index; the
-  ``metadata.dependable_element_docs`` field of ``known_good.json`` enables it
-  (`bbf95e3 `__,
-  `d612b38 `__).
-- The release note is generated from ``known_good.json`` with
-  ``scripts/release_note/generate_release_note.py``
-  (`#414 `__).
+- The release note is generated with
+  ``scripts/release_note/generate_release_note.py``; its module tables link
+  every module release since the origin release
+  (`#414 `__,
+  `cf0f846 `__).
 
 CI
 ~~
 
 - The documentation build runs as a separate, fail-fast workflow
   (`#375 `__).
-- Bazel cache keys rotate on module bumps and the test cache is trusted on push
+- Bazel cache keys rotate on module bumps, and the test cache is trusted on push
   (`#356 `__,
   `#362 `__,
   `#366 `__).
@@ -269,24 +263,24 @@ CI
 💥 Breaking Changes
 --------------------
 
-Reference integration: resolved-dependency overrides removed
+reference_integration: resolved-dependency overrides removed
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The module test mechanism of v0.9 was removed together with its generated files:
+The module test mechanism of v0.9 was removed with its files
 ``scripts/known_good/resolved_dependencies.py``,
 ``scripts/known_good/module_patches.py`` and the ``rust_coverage`` package
 (`#398 `__).
 
 Action required: run module tests with ``scripts/module_tests.py`` and the
-configuration in ``bazel_common/unified.bazelrc`` instead.
+configuration in ``bazel_common/unified.bazelrc``.
 
-Reference integration: QNX image packages moved
+reference_integration: QNX image packages moved
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The common QNX build fragments and configuration files moved to
-``//images/qnx_common/build`` and ``//images/qnx_common/configs``; the
-``images/qnx_aarch64/configs`` package was removed and
-``images/qnx_x86_64/configs`` keeps only the x86-specific files
+``//images/qnx_common/build`` and ``//images/qnx_common/configs``; the package
+``images/qnx_aarch64/configs`` was removed and ``images/qnx_x86_64/configs``
+keeps only the x86-specific files
 (`#389 `__).
 
 Action required: update references to the old image paths in derived images.
@@ -294,68 +288,81 @@ Action required: update references to the old image paths in derived images.
 Platform: stakeholder requirement IDs renamed
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Platform ``v0.7.3`` gave the safety stakeholder requirements named IDs instead
-of numbers, for example ``stkh_req__dependability__safety_features_1`` became
-``stkh_req__dependability__health_management``. Tests that still link the old
-ID make the documentation build fail with an unknown-link warning
-(`score#3286 `__,
-`5d09c1b `__).
+Platform ``v0.7.3`` gives the safety stakeholder requirements named IDs
+instead of numbers, for example ``stkh_req__dependability__safety_features_1``
+became ``stkh_req__dependability__health_management``. Tests that still link an
+old ID make the documentation build fail with an unknown-link warning
+(`score#3286 `__).
+
+.. note::
+
+   Important for integrators: the Lifecycle platform integration test of
+   ``reference_integration`` links the renamed requirement
+   (`5d09c1b `__).
 
 Action required: link tests to the new stakeholder requirement IDs.
 
 Baselibs: vaJson is the only JSON backend
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-``score/json`` uses vaJson as its only parser (v0.2.15) and writer (v0.2.16).
-The ``--@score_baselibs//score/json:writer_library`` flag was removed;
-``--@score_baselibs//score/json:base_library`` is a deprecated no-op that this
-repository still sets in ``.bazelrc`` and ``known_good.json``. The written JSON
-differs (for example ``true``/``false`` instead of ``1``/``0`` and different
-float formatting), which is why two Configuration Management unit tests are
-excluded in ``known_good.json``. In v0.2.17 the ``VajsonParser`` class and the
-``vajson_parser`` target were removed; ``JsonParser`` and ``JsonWriter`` keep
-their interfaces
-(`baselibs#660 `__,
-`baselibs#675 `__,
-`baselibs#677 `__,
-`312fde3 `__).
-
-Action required: remove the ``base_library`` and ``writer_library`` flags from
-build configurations, use ``JsonParser`` instead of ``VajsonParser`` and do not
-compare JSON output against the old format.
+``score/json`` uses vaJson as its only parser and writer; ``JsonParser``,
+``IJsonParser`` and ``JsonWriter`` keep their interfaces:
+
+- v0.2.15: the nlohmann parser was removed together with the
+  ``nlohmann_json`` dependency of Baselibs; the flag
+  ``--@score_baselibs//score/json:base_library`` is a deprecated no-op, also
+  with the value ``nlohmann``
+  (`baselibs#660 `__).
+- v0.2.16: the flag ``--@score_baselibs//score/json:writer_library`` and the
+  ``json_serialize`` writer were removed. The written JSON differs, for example
+  ``true``/``false`` instead of ``1``/``0`` and a different float format; the
+  enum ``Formatting`` moved to ``score/json/formatting.h``
+  (`baselibs#675 `__,
+  `baselibs#685 `__).
+- v0.2.17: the class ``VajsonParser`` and the target ``vajson_parser`` were
+  removed
+  (`baselibs#677 `__).
+
+.. note::
+
+   Important for integrators: ``reference_integration`` still sets
+   ``base_library=nlohmann`` in ``.bazelrc`` and ``known_good.json``; the flag
+   has no effect. Two Configuration Management unit tests are excluded in
+   ``known_good.json`` because their expected strings assume the nlohmann float
+   format (``3.222`` instead of ``3.22199988``)
+   (`312fde3 `__).
+
+Action required: remove the ``base_library`` and ``writer_library`` flags, use
+``JsonParser`` instead of ``VajsonParser``, include ``score/json/formatting.h``
+for ``Formatting`` and do not compare JSON output with the old format.
 
 Baselibs: deprecated APIs and targets removed
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Baselibs removed deprecated or unused APIs that other modules had to migrate
-away from, for example Persistency from ``score::ResultBlank`` and Logging from
-``STRUCT_VISITABLE``
+Baselibs removed deprecated or unused APIs; Persistency and Logging migrated
+away from them
 (`persistency#455 `__,
 `logging#343 `__):
 
-- The type aliases ``score::Blank`` and ``score::ResultBlank`` and the macros
-  ``STRUCT_VISITABLE``, ``STRUCT_TRACEABLE``, ``MEMCPY_SERIALIZABLE`` and
-  ``MEMCPY_SERIALIZABLE_IF`` (v0.2.16)
+- ``score::Blank``, ``score::ResultBlank`` and the macros ``STRUCT_VISITABLE``,
+  ``STRUCT_TRACEABLE``, ``MEMCPY_SERIALIZABLE`` and ``MEMCPY_SERIALIZABLE_IF``
+  (v0.2.16)
   (`baselibs#623 `__).
-- The deprecated ``//src`` aliases and the string and atomic shims in
-  ``//score/memory`` (v0.2.14)
+- The ``//src`` aliases and the string and atomic shims in ``//score/memory``
+  (v0.2.14)
   (`baselibs#598 `__).
-- ``//score/datetime_converter``, the ``score/os`` cpuid, file stream, make-dev
-  and ``select`` wrappers (v0.2.13), the Linux ``pthread_setaffinity_np``
-  wrapper and deprecated QNX ``ChannelCreate`` and ``TimerTimeout`` overloads
-  (v0.2.16)
+- ``//score/datetime_converter`` and the ``score/os`` cpuid, file stream,
+  make-dev and ``select`` wrappers (v0.2.13), the Linux
+  ``pthread_setaffinity_np`` wrapper and the deprecated QNX ``ChannelCreate``
+  and ``TimerTimeout`` overloads (v0.2.16)
   (`baselibs#471 `__,
   `baselibs#535 `__,
   `baselibs#536 `__,
   `baselibs#703 `__).
-- ``Synchronized::WithLock`` is deprecated in favour of the monadic functions of
+- Deprecated: ``Synchronized::WithLock``, replaced by the monadic functions of
   ``LockedPtr`` (v0.2.17)
   (`baselibs#761 `__).
 
-With Baselibs v0.2.16 this repository adds a ``safe_math`` dependency to
-Communication by patch
-(`7b91874 `__).
-
 Action required: use ``void``/``score::Result`` and the ``SCORE_*``
 macros, depend on the ``//score`` targets and replace the removed OS wrappers
 and ``WithLock``.
@@ -378,14 +385,15 @@ applications use directly
   (``v0.6.0``)
   (`communication#1202 `__,
   `communication#1232 `__).
-- The aggregate Bazel target ``//score/memory/shared:types`` was removed
-  (`communication#1487 `__).
 - ``tracing::TypeErasedSamplePtr`` was replaced by ``impl::SamplePtr``
   (``v0.5.0``)
   (`communication#1229 `__).
+- The aggregate Bazel target ``//score/memory/shared:types`` was removed
+  (``v0.6.0``)
+  (`communication#1487 `__).
 
-Action required: replace ``GetSampleSize()`` and ``TypeErasedSamplePtr``, do not
-rely on ``noexcept`` of the listed functions and depend on the specific
+Action required: replace ``GetSampleSize()`` and ``TypeErasedSamplePtr``, do
+not rely on ``noexcept`` of the listed functions and depend on the specific
 ``//score/memory/shared`` sub-targets (for example ``:offset_ptr``,
 ``:vector``, ``:string``).
 
@@ -398,39 +406,47 @@ directly
 
 - ``Kvs::reset_key`` was renamed to ``SetValueToDefault`` (C++) and
   ``set_value_to_default`` (Rust), without a deprecated alias
-  (`persistency#585 `__,
-  `873238a `__,
-  `0e4c5be `__).
+  (`persistency#585 `__).
 - The KVS rejects untagged JSON; a defaults file must use the type-tagged
   top-level envelope ``{"t":"obj","v":{...}}``
-  (`persistency#490 `__,
-  `c37c448 `__).
-- The C++ headers are included as ``score/kvs/kvs.h``, ``kvs_builder.h`` and
-  ``kvs_value.h`` from ``@score_persistency//score/kvs``, and the
-  ``KvsBuilder`` flags became enums (``Defaults``, ``KvsLoad``,
-  ``WorkingDir``). Configuration Management is adapted by a patch in this
-  repository
+  (`persistency#490 `__).
+- The C++ headers are ``score/kvs/kvs.h``, ``kvs_builder.h`` and
+  ``kvs_value.h`` in ``@score_persistency//score/kvs`` and are included with the
+  full path; the ``KvsBuilder`` flags became enums (``Defaults``, ``KvsLoad``,
+  ``WorkingDir``)
   (`persistency#461 `__,
-  `persistency#562 `__,
-  `3467044 `__).
+  `persistency#562 `__).
 - Deprecated, still available: the namespace ``score::mw::per::kvs`` (now
   ``score::kvs``), the old ``*.hpp`` headers, the snake_case method names (now
-  PascalCase) and the constants and enumerators without ``k`` prefix
+  PascalCase) and constants and enumerators without ``k`` prefix
   (`persistency#562 `__,
   `persistency#564 `__,
   `persistency#614 `__).
 - Keys must be non-empty, consist of printable ASCII characters and be at most
-  32 bytes long. The C++ and Rust KVS return ``InvalidKey`` for other keys,
-  and loading a file with such a key fails
+  32 bytes long; the C++ and Rust KVS return ``InvalidKey`` for other keys, and
+  loading a file with such a key fails
   (`persistency#308 `__,
   `persistency#508 `__,
   `persistency#509 `__).
 - The KVS stores its files atomically with the permissions ``640``
   (`persistency#503 `__).
 
+.. note::
+
+   Important for integrators: ``reference_integration`` adapts Configuration
+   Management ``v0.3.1`` to the new headers and builder API by the patch
+   ``patches/config_management/002-migrate-to-persistency-kvs-api.patch``
+   (`3467044 `__).
+   The feature integration tests use ``SetValueToDefault`` and
+   ``set_value_to_default`` and write the defaults files with the tagged
+   envelope
+   (`873238a `__,
+   `0e4c5be `__,
+   `c37c448 `__).
+
 Action required: rename ``reset_key`` calls, convert defaults files to the
 tagged envelope, update the KVS includes, builder calls and names, keep keys
-within the allowed characters and length and check that processes reading KVS
+within the allowed characters and length, and check that processes reading KVS
 files of another user still have access.
 
 Lifecycle: Launch Manager configuration and control API
@@ -438,10 +454,7 @@ Lifecycle: Launch Manager configuration and control API
 
 Lifecycle ``v0.7.0`` to ``v0.10.0`` change the Launch Manager configuration
 and its control interface. Configurations with old keys fail the schema
-validation; the Lifecycle showcase configuration of this repository was
-updated accordingly
-(`a575ce6 `__,
-`9c0136e `__):
+validation:
 
 - ``v0.7.0``: all durations are configured in milliseconds, and the keys get
   the suffix ``_ms``, for example ``transition_timeout_ms`` and
@@ -460,6 +473,14 @@ updated accordingly
   (`lifecycle#868 `__,
   `Lifecycle v0.10.0 release notes `__).
 
+.. note::
+
+   Important for integrators: the Launch Manager configuration of the
+   ``simple_lifecycle`` showcase in ``reference_integration`` uses the new
+   schema and can serve as an example
+   (`a575ce6 `__,
+   `9c0136e `__).
+
 Action required: rename the duration fields to ``*_ms`` and convert the values
 to milliseconds, migrate State Managers from ``ControlClient`` to
 ``ILmControl``, set ``schema_version`` to ``2``, replace
@@ -476,12 +497,19 @@ their safety documentation: ``fmea`` became ``safety_analysis``, which
 ``v3.0.0`` splits into ``failure_modes``, ``fault_trees`` and
 ``safety_analysis``; ``dependable_element`` no longer has the attribute
 ``assumptions_of_use``; PlantUML elements are identified by their written name
-instead of the alias; and the crate repository is renamed from ``@crates`` to
-``@crates_score_tooling``. This repository drops the ``assumptions_of_use``
-attribute from Logging and Configuration Management by patch
+instead of the alias; the crate repository is renamed from ``@crates`` to
+``@crates_score_tooling``
 (`Tooling v2.3.1 release notes `__,
-`Tooling v3.0.0 release notes `__,
-`dc41763 `__).
+`Tooling v3.0.0 release notes `__).
+
+.. note::
+
+   Important for integrators: Logging ``v0.2.6`` and Configuration Management
+   ``v0.3.1`` still set ``assumptions_of_use``; ``reference_integration``
+   removes the attribute by patch
+   (``004-drop-dependable-element-aou-attr.patch`` and
+   ``003-drop-dependable-element-aou-attr.patch``)
+   (`dc41763 `__).
 
 Action required: migrate ``dependable_element`` and safety analysis targets
 with the migration checklist of the Tooling ``v3.0.0`` release notes.
@@ -491,10 +519,14 @@ Test Scenarios: libraries moved under ``score/``
 
 Test Scenarios ``v0.5.0`` moved the libraries to
 ``@score_test_scenarios//score/test_scenarios_cpp`` and
-``@score_test_scenarios//score/test_scenarios_rust``; the feature integration
-tests of this repository use the new labels
-(`testing_tools#31 `__,
-`cb89c10 `__).
+``@score_test_scenarios//score/test_scenarios_rust``
+(`testing_tools#31 `__).
+
+.. note::
+
+   Important for integrators: the feature integration tests of
+   ``reference_integration`` use the new labels
+   (`cb89c10 `__).
 
 Action required: update the ``@score_test_scenarios`` labels.
 

From 1bcf026c9dd3915f02b4d5e27bc9e426bc5af88a Mon Sep 17 00:00:00 2001
From: Andrey Babanin 
Date: Wed, 4 Nov 2026 13:56:45 +0100
Subject: [PATCH 79/80] Remove nlohmann library reference and update test notes
 for config_management bugfix

---
 .bazelrc        | 2 --
 known_good.json | 7 +++----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/.bazelrc b/.bazelrc
index d4464a2af2e..0e094a616b2 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -22,7 +22,6 @@ build --tool_java_language_version=17
 build --java_runtime_version=remotejdk_17
 build --tool_java_runtime_version=remotejdk_17
 
-build:_common --@score_baselibs//score/json:base_library=nlohmann
 build:_common --@score_communication//score/memory/shared/flags:use_typedshmd=False
 build:_common --@score_baselibs//score/log_rust:safety_level=qm
 build:_common --@score_config_management//score/config_management/config_daemon/code:score_variant=true
@@ -81,7 +80,6 @@ build:autosd-x86_64 --extra_toolchains=@score_autosd10_x86_64_toolchain//:x86_64
 # Persistency specific flags
 build:ferrocene-coverage-per --config=ferrocene-coverage
 build:ferrocene-coverage-per --@score_baselibs//score/log_rust:safety_level=qm
-build:ferrocene-coverage-per --@score_baselibs//score/json:base_library=nlohmann
 build:ferrocene-coverage-per --@score_logging//score/mw/log/flags:KRemote_Logging=False
 
 # Output only failed test logs
diff --git a/known_good.json b/known_good.json
index ed587a77839..442087ff750 100644
--- a/known_good.json
+++ b/known_good.json
@@ -86,7 +86,6 @@
                     "code_root_path": "//score/kvs/...",
                     "extra_test_config": [
                         "@score_baselibs//score/log_rust:safety_level=qm",
-                        "@score_baselibs//score/json:base_library=nlohmann",
                         "@score_logging//score/mw/log/flags:KRemote_Logging=False"
                     ],
                     "exclude_test_targets": [
@@ -252,8 +251,8 @@
                         "//score/config_management/dependability/..."
                     ],
                     "test_notes": {
-                        "//score/config_management/config_daemon/code/data_model/details:unit_test": "TODO fix: baselibs 0.2.16 serializes JSON with vaJson only (base_library flag has no effect); expected strings assume nlohmann (e.g. 3.222 vs 3.22199988)",
-                        "//score/config_management/config_provider/code/parameter_set:unit_test": "TODO fix: baselibs 0.2.16 serializes JSON with vaJson only (base_library flag has no effect); expected strings assume nlohmann (e.g. 3.222 vs 3.22199988)"
+                        "//score/config_management/config_daemon/code/data_model/details:unit_test": "TODO fix: config_management has to bump baselibs to a version that includes the following bugfix: https://github.com/eclipse-score/baselibs/pull/657",
+                        "//score/config_management/config_provider/code/parameter_set:unit_test": "TODO fix: config_management has to bump baselibs to a version that includes the following bugfix: https://github.com/eclipse-score/baselibs/pull/657"
                     },
                     "langs": [
                         "cpp"
@@ -357,4 +356,4 @@
         ]
     },
     "timestamp": "2026-08-28T09:19:12Z"
-}
\ No newline at end of file
+}

From 01d69b9d7c3aed589f5dcfd3fe3a648d48b08830 Mon Sep 17 00:00:00 2001
From: Andrey Babanin 
Date: Wed, 4 Nov 2026 14:17:29 +0100
Subject: [PATCH 80/80] Rewrite release notes v0.10 for baselibs

---
 .../releases/release_note_score_v0_10.rst     | 110 +++++++-----------
 1 file changed, 45 insertions(+), 65 deletions(-)

diff --git a/docs/s_core_v_1/releases/release_note_score_v0_10.rst b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
index 89475621b55..8eca9f81502 100644
--- a/docs/s_core_v_1/releases/release_note_score_v0_10.rst
+++ b/docs/s_core_v_1/releases/release_note_score_v0_10.rst
@@ -173,6 +173,25 @@ justifications
 `persistency#450 `__,
 `time#235 `__).
 
+Baselibs
+~~~~~~~~
+
+- **Serialization:** Added a public serialization library with a strategy-based
+  API for serialization and deserialization.
+- **Concurrency:** Added composable operations on locked values through
+  ``LockedPtr::transform()``, ``and_then()``, and ``or_else()``, plus a Rust
+  wrapper for C++ stop tokens.
+- **Containers:** Extended ``NonRelocatableVector`` with element removal,
+  clearing, and emptiness checks.
+- **FutureCPP** Improved FutureCPP support for input iterators
+  and interoperability with ``std::optional``.
+- **OS abstraction layer:** Added a mockable Linux syslog wrapper,
+  environment-variable operations, and public access to the network
+  name-resolution Bazel target.
+- **JSON:** Added explicit control over compact and pretty-printed output.
+- **FlatBuffers:** JSON-schema generation now preserves rich attributes from
+  schema comments and produces deterministic attribute ordering.
+
 Lifecycle: control interface for State Managers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -302,70 +321,32 @@ old ID make the documentation build fail with an unknown-link warning
 
 Action required: link tests to the new stakeholder requirement IDs.
 
-Baselibs: vaJson is the only JSON backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``score/json`` uses vaJson as its only parser and writer; ``JsonParser``,
-``IJsonParser`` and ``JsonWriter`` keep their interfaces:
-
-- v0.2.15: the nlohmann parser was removed together with the
-  ``nlohmann_json`` dependency of Baselibs; the flag
-  ``--@score_baselibs//score/json:base_library`` is a deprecated no-op, also
-  with the value ``nlohmann``
-  (`baselibs#660 `__).
-- v0.2.16: the flag ``--@score_baselibs//score/json:writer_library`` and the
-  ``json_serialize`` writer were removed. The written JSON differs, for example
-  ``true``/``false`` instead of ``1``/``0`` and a different float format; the
-  enum ``Formatting`` moved to ``score/json/formatting.h``
-  (`baselibs#675 `__,
-  `baselibs#685 `__).
-- v0.2.17: the class ``VajsonParser`` and the target ``vajson_parser`` were
-  removed
-  (`baselibs#677 `__).
-
-.. note::
-
-   Important for integrators: ``reference_integration`` still sets
-   ``base_library=nlohmann`` in ``.bazelrc`` and ``known_good.json``; the flag
-   has no effect. Two Configuration Management unit tests are excluded in
-   ``known_good.json`` because their expected strings assume the nlohmann float
-   format (``3.222`` instead of ``3.22199988``)
-   (`312fde3 `__).
-
-Action required: remove the ``base_library`` and ``writer_library`` flags, use
-``JsonParser`` instead of ``VajsonParser``, include ``score/json/formatting.h``
-for ``Formatting`` and do not compare JSON output with the old format.
-
-Baselibs: deprecated APIs and targets removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Baselibs removed deprecated or unused APIs; Persistency and Logging migrated
-away from them
-(`persistency#455 `__,
-`logging#343 `__):
-
-- ``score::Blank``, ``score::ResultBlank`` and the macros ``STRUCT_VISITABLE``,
-  ``STRUCT_TRACEABLE``, ``MEMCPY_SERIALIZABLE`` and ``MEMCPY_SERIALIZABLE_IF``
-  (v0.2.16)
-  (`baselibs#623 `__).
-- The ``//src`` aliases and the string and atomic shims in ``//score/memory``
-  (v0.2.14)
-  (`baselibs#598 `__).
-- ``//score/datetime_converter`` and the ``score/os`` cpuid, file stream,
-  make-dev and ``select`` wrappers (v0.2.13), the Linux
-  ``pthread_setaffinity_np`` wrapper and the deprecated QNX ``ChannelCreate``
-  and ``TimerTimeout`` overloads (v0.2.16)
-  (`baselibs#471 `__,
-  `baselibs#535 `__,
-  `baselibs#536 `__,
-  `baselibs#703 `__).
-- Deprecated: ``Synchronized::WithLock``, replaced by the monadic functions of
-  ``LockedPtr`` (v0.2.17)
-  (`baselibs#761 `__).
-
-Action required: use ``void``/``score::Result`` and the ``SCORE_*``
-macros, depend on the ``//score`` targets and replace the removed OS wrappers
-and ``WithLock``.
+Baselibs
+~~~~~~~~
+
+- **Removed compatibility targets and headers:** Replace deprecated ``//src``
+  Bazel aliases and the string and atomic shims under ``//score/memory`` with
+  their replacement targets, headers, and namespaces.
+- **Removed deprecated libraries:** ``score/datetime_converter`` and the
+  ``score/os`` wrappers ``cpuid``, ``file_stream``, and ``make_dev`` are no
+  longer available.
+- **JSON backend consolidation:** vaJson is now the sole parser and writer
+  backend. Remove the deleted ``writer_library`` flag and the deprecated, now
+  ineffective ``base_library`` flag. Serialized output may change: booleans use
+  ``true``/``false`` instead of ``1``/``0``, escaping is corrected, and empty
+  objects and arrays are emitted as ``{}`` and ``[]``. Default output remains
+  pretty-printed.
+- **Removed deprecated aliases and macros:** Replace ``Blank`` and
+  ``ResultBlank`` with ``void`` and ``Result``. Use the ``SCORE_``-prefixed
+  versions of the removed reflection and serialization macros.
+- **OS abstraction layer API cleanup:** Replace the deprecated Linux thread-affinity wrapper and
+  QNX channel-creation and timer-timeout overloads with their supported
+  alternatives.
+- **FlatBuffers allocator compatibility:** The affected ``LoadBuffer``
+  overload now requires ``score::cpp::pmr::vector`` rather than
+  ``std::pmr::vector``.
+- **Deprecation:** ``Synchronized::WithLock`` remains available but is
+  deprecated in favor of ``lock()`` and composable ``LockedPtr`` operations.
 
 Communication: removed deprecated API and exception specifications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -698,4 +679,3 @@ release.
 
 For any questions or support, please contact the *Project leads* or raise an issue/discussion.
 https://projects.eclipse.org/projects/automotive.score
-