diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-19 23:13:43 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-19 23:13:43 +0000 |
commit | 0e2bde5d6e3118d83004f4b3dfbbe84e5fa2af24 (patch) | |
tree | a559c2c5f783d4cbd605578eee27269d1e3c533b | |
parent | 492f5599cede28b05ef82a747b3bd40191a1ad18 (diff) | |
parent | 15cbbff88df7a8191d88c7aebefc7b508bd4de69 (diff) | |
download | cxx-sdk-release.tar.gz |
Snap for 11598262 from 15cbbff88df7a8191d88c7aebefc7b508bd4de69 to sdk-releasesdk-release
Change-Id: I8cafa361ef2d36f3e522dff31060f3796c6fa4ee
204 files changed, 18166 insertions, 2431 deletions
@@ -1,2 +1,4 @@ build --enable_platform_specific_config build:linux --@rules_rust//:extra_rustc_flags=-Clink-arg=-fuse-ld=lld +build:linux --cxxopt=-std=c++17 +build:macos --cxxopt=-std=c++17 diff --git a/.buckconfig b/.buckconfig index bb3fda5f..e081ba21 100644 --- a/.buckconfig +++ b/.buckconfig @@ -1,8 +1,11 @@ [repositories] -repo = . +root = . prelude = tools/buck/prelude toolchains = tools/buck/toolchains -config = tools/buck/prelude +none = none + +[repository_aliases] +config = prelude buck = none fbcode = none fbsource = none @@ -11,7 +14,15 @@ fbsource = none # Hide BUCK files under target/package/ from `buck build ...`. Otherwise: # $ buck build ... # //target/package/cxx-0.3.0/tests:ffi references non-existing file or directory 'target/package/cxx-0.3.0/tests/ffi/lib.rs' -ignore = target +# +# Also hide some Bazel-managed directories that contain symlinks to the repo root. +ignore = \ + .git, \ + bazel-bin, \ + bazel-cxx, \ + bazel-out, \ + bazel-testlogs, \ + target [parser] -target_platform_detector_spec = target://...->config//platforms:default +target_platform_detector_spec = target:root//...->prelude//platforms:default diff --git a/.buckroot b/.buckroot new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/.buckroot diff --git a/.clippy.toml b/.clippy.toml deleted file mode 100644 index 11d46a73..00000000 --- a/.clippy.toml +++ /dev/null @@ -1 +0,0 @@ -msrv = "1.48.0" diff --git a/.github/workflows/buck2.yml b/.github/workflows/buck2.yml new file mode 100644 index 00000000..f91ac3d3 --- /dev/null +++ b/.github/workflows/buck2.yml @@ -0,0 +1,30 @@ +name: Buck2 + +on: + push: + workflow_dispatch: + schedule: [cron: "40 1,13 * * *"] + +permissions: + contents: read + +jobs: + buck2: + name: Buck2 on ${{matrix.os == 'ubuntu' && 'Linux' || matrix.os == 'macos' && 'macOS' || matrix.os == 'windows' && 'Windows' || '???'}} + runs-on: ${{matrix.os}}-latest + strategy: + fail-fast: false + matrix: + os: [ubuntu, macos, windows] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: rust-src + - uses: dtolnay/install-buck2@latest + with: + prelude-submodule: tools/buck/prelude + - run: buck2 run demo + - run: buck2 build ... + - run: buck2 test ... diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b496ebf..16ae9ab8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,11 +26,12 @@ jobs: - rust: beta - rust: stable - rust: 1.60.0 - - rust: 1.64.0 - - name: macOS + - rust: 1.70.0 + - rust: 1.74.0 + - name: Cargo on macOS rust: nightly os: macos - - name: Windows (msvc) + - name: Cargo on Windows (msvc) rust: nightly-x86_64-pc-windows-msvc os: windows flags: /EHsc @@ -42,10 +43,11 @@ jobs: - name: Enable symlinks (windows) if: matrix.os == 'windows' run: git config --global core.symlinks true - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{matrix.rust}} + components: rust-src - name: Determine test suite subset # Our Windows and macOS jobs are the longest running, so exclude the # relatively slow compiletest from them to speed up end-to-end CI time, @@ -55,13 +57,14 @@ jobs: # builds. run: | echo RUSTFLAGS=$RUSTFLAGS >> $GITHUB_ENV - echo exclude=--exclude cxx-test-suite ${{matrix.rust == '1.60.0' && '--exclude cxxbridge-cmd' || ''}} >> $GITHUB_OUTPUT + echo exclude=--exclude cxx-test-suite ${{matrix.rust == '1.70.0' && '--exclude cxxbridge-cmd' || ''}} >> $GITHUB_OUTPUT env: RUSTFLAGS: ${{env.RUSTFLAGS}} ${{matrix.os && github.event_name != 'schedule' && '--cfg skip_ui_tests' || ''}} id: testsuite shell: bash - run: cargo run --manifest-path demo/Cargo.toml - run: cargo test --workspace ${{steps.testsuite.outputs.exclude}} + if: matrix.rust != '1.60.0' - run: cargo check --no-default-features --features alloc env: RUSTFLAGS: --cfg compile_error_if_std ${{env.RUSTFLAGS}} @@ -69,47 +72,73 @@ jobs: env: RUSTFLAGS: --cfg compile_error_if_alloc --cfg cxx_experimental_no_alloc ${{env.RUSTFLAGS}} - buck: - name: Buck + reindeer: + name: Reindeer runs-on: ubuntu-latest if: github.event_name != 'pull_request' timeout-minutes: 45 steps: - - uses: actions/checkout@v3 - with: - submodules: true + - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable + with: + components: rust-src - uses: dtolnay/install@reindeer - - uses: dtolnay/install@buck2 - - name: Install lld - run: sudo apt-get install lld - - run: cargo vendor --versioned-dirs --locked - working-directory: third-party - run: reindeer buckify working-directory: third-party - name: Check reindeer-generated BUCK file up to date run: git diff --exit-code - - run: buck2 run demo - - run: buck2 build ... - - run: buck2 test ... bazel: - name: Bazel - runs-on: ubuntu-latest + name: Bazel on ${{matrix.os == 'ubuntu' && 'Linux' || matrix.os == 'macos' && 'macOS' || matrix.os == 'windows' && 'Windows' || '???'}} + runs-on: ${{matrix.os}}-latest if: github.event_name != 'pull_request' + strategy: + fail-fast: false + matrix: + os: [ubuntu, macos, windows] timeout-minutes: 45 steps: - - uses: actions/checkout@v3 - - name: Install Bazel - run: | - wget -q -O install.sh https://github.com/bazelbuild/bazel/releases/download/6.0.0/bazel-6.0.0-installer-linux-x86_64.sh - chmod +x install.sh - ./install.sh --user - echo $HOME/bin >> $GITHUB_PATH + - uses: actions/checkout@v4 - name: Install lld run: sudo apt-get install lld - - run: bazel run demo --verbose_failures --noshow_progress - - run: bazel test ... --verbose_failures --noshow_progress + if: matrix.os == 'ubuntu' + - run: bazel --version + - run: bazel run demo --verbose_failures --noshow_progress ${{matrix.os == 'macos' && '--xcode_version_config=tools/bazel:github_actions_xcodes' || ''}} + continue-on-error: ${{matrix.os == 'windows'}} # https://github.com/bazelbuild/bazel/issues/18592 + - run: bazel test ... --verbose_failures --noshow_progress ${{matrix.os == 'macos' && '--xcode_version_config=tools/bazel:github_actions_xcodes' || ''}} + continue-on-error: ${{matrix.os == 'windows'}} # https://github.com/bazelbuild/bazel/issues/18592 + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked --workspace + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + - run: cargo docs-rs -p cxx-build + - run: cargo docs-rs -p cxx-gen + - run: cargo docs-rs -p cxxbridge-flags + - run: cargo docs-rs -p cxxbridge-macro clippy: name: Clippy @@ -117,9 +146,12 @@ jobs: if: github.event_name != 'pull_request' timeout-minutes: 45 steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@clippy - - run: cargo clippy --workspace --tests -- -Dclippy::all + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rust-src + - run: cargo clippy --workspace --tests --exclude demo -- -Dclippy::all -Dclippy::pedantic + - run: cargo clippy --manifest-path demo/Cargo.toml -- -Dclippy::all clang-tidy: name: Clang Tidy @@ -127,7 +159,7 @@ jobs: if: github.event_name != 'pull_request' timeout-minutes: 45 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install clang-tidy run: sudo apt-get install clang-tidy-11 - name: Run clang-tidy @@ -139,6 +171,6 @@ jobs: if: github.event_name != 'pull_request' timeout-minutes: 45 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: dtolnay/install@cargo-outdated - run: cargo outdated --workspace --exit-code 1 diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml new file mode 100644 index 00000000..025fe23c --- /dev/null +++ b/.github/workflows/install.yml @@ -0,0 +1,18 @@ +name: Install + +on: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + push: {tags: ['*']} + +permissions: {} + +env: + RUSTFLAGS: -Dwarnings + +jobs: + install: + name: Install + uses: dtolnay/.github/.github/workflows/check_install.yml@master + with: + crate: cxxbridge-cmd diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml index 1f9a6955..555be195 100644 --- a/.github/workflows/site.yml +++ b/.github/workflows/site.yml @@ -17,15 +17,9 @@ jobs: contents: write timeout-minutes: 30 steps: - - uses: actions/checkout@v3 - - - name: Get mdBook - run: | - export MDBOOK_VERSION="dtolnay" - export MDBOOK_TARBALL="mdbook-${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz" - export MDBOOK_URL="https://github.com/dtolnay/mdBook/releases/download/cxx/${MDBOOK_TARBALL}" - curl -Lf "${MDBOOK_URL}" | tar -xzC book - book/mdbook --version + - uses: actions/checkout@v4 + - uses: dtolnay/install@mdbook + - run: mdbook --version - name: Build run: book/build.sh diff --git a/.gitmodules b/.gitmodules index 208a58a9..1f0249f5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "tools/buck/prelude"] path = tools/buck/prelude - url = https://github.com/facebookincubator/buck2-prelude + url = https://github.com/facebook/buck2-prelude @@ -38,7 +38,7 @@ rust_library { name: "libcxx", crate_name: "cxx", srcs: ["src/lib.rs"], - edition: "2018", + edition: "2021", features: [ "alloc", "std", @@ -4,7 +4,7 @@ rust_library( doc_deps = [ ":cxx-build", ], - edition = "2018", + edition = "2021", features = [ "alloc", "std", @@ -28,7 +28,7 @@ rust_binary( "gen/cmd/src/gen", "gen/cmd/src/syntax", ], - edition = "2018", + edition = "2021", deps = [ "//third-party:clap", "//third-party:codespan-reporting", @@ -44,8 +44,8 @@ cxx_library( exported_headers = { "cxx.h": "include/cxx.h", }, - exported_linker_flags = ["-lstdc++"], header_namespace = "rust", + preferred_linkage = "static", visibility = ["PUBLIC"], ) @@ -53,7 +53,7 @@ rust_library( name = "cxxbridge-macro", srcs = glob(["macro/src/**/*.rs"]) + ["macro/src/syntax"], doctests = False, - edition = "2018", + edition = "2021", proc_macro = True, deps = [ "//third-party:proc-macro2", @@ -69,7 +69,7 @@ rust_library( "gen/build/src/syntax", ], doctests = False, - edition = "2018", + edition = "2021", deps = [ "//third-party:cc", "//third-party:codespan-reporting", @@ -87,7 +87,7 @@ rust_library( "gen/lib/src/gen", "gen/lib/src/syntax", ], - edition = "2018", + edition = "2021", visibility = ["PUBLIC"], deps = [ "//third-party:cc", @@ -8,7 +8,7 @@ rust_library( "alloc", "std", ], - edition = "2018", + edition = "2021", proc_macro_deps = [ ":cxxbridge-macro", ], @@ -26,7 +26,7 @@ rust_binary( name = "cxxbridge", srcs = glob(["gen/cmd/src/**/*.rs"]), data = ["gen/cmd/src/gen/include/cxx.h"], - edition = "2018", + edition = "2021", deps = [ "//third-party:clap", "//third-party:codespan-reporting", @@ -53,7 +53,7 @@ cc_library( rust_proc_macro( name = "cxxbridge-macro", srcs = glob(["macro/src/**/*.rs"]), - edition = "2018", + edition = "2021", deps = [ "//third-party:proc-macro2", "//third-party:quote", @@ -65,7 +65,7 @@ rust_library( name = "cxx-build", srcs = glob(["gen/build/src/**/*.rs"]), data = ["gen/build/src/gen/include/cxx.h"], - edition = "2018", + edition = "2021", deps = [ "//third-party:cc", "//third-party:codespan-reporting", @@ -81,7 +81,7 @@ rust_library( name = "cxx-gen", srcs = glob(["gen/lib/src/**/*.rs"]), data = ["gen/lib/src/gen/include/cxx.h"], - edition = "2018", + edition = "2021", visibility = ["//visibility:public"], deps = [ "//third-party:cc", @@ -1,11 +1,11 @@ [package] name = "cxx" -version = "1.0.93" # remember to update html_root_url +version = "1.0.119" authors = ["David Tolnay <dtolnay@gmail.com>"] categories = ["development-tools::ffi", "api-bindings", "no-std"] description = "Safe interop between Rust and C++" documentation = "https://docs.rs/cxx" -edition = "2018" +edition = "2021" exclude = ["/demo", "/gen", "/syntax", "/third-party", "/tools/buck/prelude"] homepage = "https://cxx.rs" keywords = ["ffi", "c++"] @@ -23,19 +23,19 @@ alloc = [] std = ["alloc"] [dependencies] -cxxbridge-macro = { version = "=1.0.93", path = "macro" } -link-cplusplus = "1.0" +cxxbridge-macro = { version = "=1.0.119", path = "macro" } +link-cplusplus = "1.0.9" [build-dependencies] -cc = "1.0.49" -cxxbridge-flags = { version = "=1.0.93", path = "flags", default-features = false } +cc = "1.0.83" +cxxbridge-flags = { version = "=1.0.119", path = "flags", default-features = false } [dev-dependencies] -cxx-build = { version = "=1.0.93", path = "gen/build" } +cxx-build = { version = "=1.0.119", path = "gen/build" } cxx-gen = { version = "0.7", path = "gen/lib" } cxx-test-suite = { version = "0", path = "tests/ffi" } -rustversion = "1.0" -trybuild = { version = "1.0.66", features = ["diff"] } +rustversion = "1.0.13" +trybuild = { version = "1.0.81", features = ["diff"] } [lib] doc-scrape-examples = false @@ -45,7 +45,24 @@ members = ["demo", "flags", "gen/build", "gen/cmd", "gen/lib", "macro", "tests/f [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] -rustdoc-args = ["--cfg", "doc_cfg"] +rustdoc-args = ["--cfg", "doc_cfg", "--generate-link-to-definition"] + +[package.metadata.bazel] +additive_build_file_content = """ +cc_library( + name = "cxx_cc", + srcs = ["src/cxx.cc"], + hdrs = ["include/cxx.h"], + include_prefix = "rust", + includes = ["include"], + linkstatic = True, + strip_include_prefix = "include", + visibility = ["//visibility:public"], +) +""" +deps = [":cxx_cc"] +extra_aliased_targets = { cxx_cc = "cxx_cc" } +gen_build_script = false [patch.crates-io] cxx = { path = "." } diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000..0ff71120 --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,25 @@ +module(name = "cxx.rs") + +bazel_dep(name = "bazel_skylib", version = "1.5.0") +bazel_dep(name = "rules_rust", version = "0.40.0") + +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") +rust.toolchain( + versions = ["1.76.0"], +) +use_repo(rust, "rust_toolchains") + +register_toolchains("@rust_toolchains//:all") + +crate_repositories = use_extension("//tools/bazel:extension.bzl", "crate_repositories") +use_repo( + crate_repositories, + "vendor__cc-1.0.89", + "vendor__clap-4.5.1", + "vendor__codespan-reporting-0.11.1", + "vendor__once_cell-1.19.0", + "vendor__proc-macro2-1.0.78", + "vendor__quote-1.0.35", + "vendor__scratch-1.0.7", + "vendor__syn-2.0.52", +) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock new file mode 100644 index 00000000..9ae06d6c --- /dev/null +++ b/MODULE.bazel.lock @@ -0,0 +1,14230 @@ +{ + "lockFileVersion": 3, + "moduleFileHash": "bcecd601fb039027d17c84b9fccd60ad766512723ff007dca6cdd7c824ad5b4b", + "flags": { + "cmdRegistries": [ + "https://bcr.bazel.build/" + ], + "cmdModuleOverrides": {}, + "allowedYankedVersions": [], + "envVarAllowedYankedVersions": "", + "ignoreDevDependency": false, + "directDependenciesMode": "WARNING", + "compatibilityMode": "ERROR" + }, + "localOverrideHashes": { + "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787" + }, + "moduleDepGraph": { + "<root>": { + "name": "cxx.rs", + "version": "", + "key": "<root>", + "repoName": "cxx.rs", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@rust_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_rust//rust:extensions.bzl", + "extensionName": "rust", + "usingModule": "<root>", + "location": { + "file": "@@//:MODULE.bazel", + "line": 6, + "column": 21 + }, + "imports": { + "rust_toolchains": "rust_toolchains" + }, + "devImports": [], + "tags": [ + { + "tagName": "toolchain", + "attributeValues": { + "versions": [ + "1.76.0" + ] + }, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 7, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@cxx.rs//tools/bazel:extension.bzl", + "extensionName": "crate_repositories", + "usingModule": "<root>", + "location": { + "file": "@@//:MODULE.bazel", + "line": 14, + "column": 35 + }, + "imports": { + "vendor__cc-1.0.89": "vendor__cc-1.0.89", + "vendor__clap-4.5.1": "vendor__clap-4.5.1", + "vendor__codespan-reporting-0.11.1": "vendor__codespan-reporting-0.11.1", + "vendor__once_cell-1.19.0": "vendor__once_cell-1.19.0", + "vendor__proc-macro2-1.0.78": "vendor__proc-macro2-1.0.78", + "vendor__quote-1.0.35": "vendor__quote-1.0.35", + "vendor__scratch-1.0.7": "vendor__scratch-1.0.7", + "vendor__syn-2.0.52": "vendor__syn-2.0.52" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_rust": "rules_rust@0.40.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + } + }, + "bazel_skylib@1.5.0": { + "name": "bazel_skylib", + "version": "1.5.0", + "key": "bazel_skylib@1.5.0", + "repoName": "bazel_skylib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains/unittest:cmd_toolchain", + "//toolchains/unittest:bash_toolchain" + ], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bazel_skylib~1.5.0", + "urls": [ + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz" + ], + "integrity": "sha256-zVWgYudjuTSZIfD124w5MyiNyLpPdt2UFqrGis7jy5Q=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_rust@0.40.0": { + "name": "rules_rust", + "version": "0.40.0", + "key": "rules_rust@0.40.0", + "repoName": "rules_rust", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@rust_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_rust//rust/private:extensions.bzl", + "extensionName": "i", + "usingModule": "rules_rust@0.40.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_rust/0.40.0/MODULE.bazel", + "line": 39, + "column": 30 + }, + "imports": { + "bazelci_rules": "bazelci_rules", + "cargo_bazel.buildifier-darwin-amd64": "cargo_bazel.buildifier-darwin-amd64", + "cargo_bazel.buildifier-darwin-arm64": "cargo_bazel.buildifier-darwin-arm64", + "cargo_bazel.buildifier-linux-amd64": "cargo_bazel.buildifier-linux-amd64", + "cargo_bazel.buildifier-linux-arm64": "cargo_bazel.buildifier-linux-arm64", + "cargo_bazel.buildifier-windows-amd64.exe": "cargo_bazel.buildifier-windows-amd64.exe", + "com_google_googleapis": "com_google_googleapis", + "cui": "cui", + "cui__anyhow-1.0.75": "cui__anyhow-1.0.75", + "cui__camino-1.1.6": "cui__camino-1.1.6", + "cui__cargo-lock-9.0.0": "cui__cargo-lock-9.0.0", + "cui__cargo-platform-0.1.4": "cui__cargo-platform-0.1.4", + "cui__cargo_metadata-0.18.1": "cui__cargo_metadata-0.18.1", + "cui__cargo_toml-0.17.1": "cui__cargo_toml-0.17.1", + "cui__cfg-expr-0.15.5": "cui__cfg-expr-0.15.5", + "cui__clap-4.3.11": "cui__clap-4.3.11", + "cui__crates-index-2.2.0": "cui__crates-index-2.2.0", + "cui__hex-0.4.3": "cui__hex-0.4.3", + "cui__indoc-2.0.4": "cui__indoc-2.0.4", + "cui__itertools-0.12.0": "cui__itertools-0.12.0", + "cui__maplit-1.0.2": "cui__maplit-1.0.2", + "cui__normpath-1.1.1": "cui__normpath-1.1.1", + "cui__pathdiff-0.2.1": "cui__pathdiff-0.2.1", + "cui__regex-1.10.2": "cui__regex-1.10.2", + "cui__semver-1.0.20": "cui__semver-1.0.20", + "cui__serde-1.0.190": "cui__serde-1.0.190", + "cui__serde_json-1.0.108": "cui__serde_json-1.0.108", + "cui__serde_starlark-0.1.14": "cui__serde_starlark-0.1.14", + "cui__sha2-0.10.8": "cui__sha2-0.10.8", + "cui__spdx-0.10.3": "cui__spdx-0.10.3", + "cui__spectral-0.6.0": "cui__spectral-0.6.0", + "cui__tempfile-3.8.1": "cui__tempfile-3.8.1", + "cui__tera-1.19.1": "cui__tera-1.19.1", + "cui__textwrap-0.16.0": "cui__textwrap-0.16.0", + "cui__toml-0.8.10": "cui__toml-0.8.10", + "cui__tracing-0.1.40": "cui__tracing-0.1.40", + "cui__tracing-subscriber-0.3.17": "cui__tracing-subscriber-0.3.17", + "generated_inputs_in_external_repo": "generated_inputs_in_external_repo", + "libc": "libc", + "llvm-raw": "llvm-raw", + "rrra__anyhow-1.0.71": "rrra__anyhow-1.0.71", + "rrra__clap-4.3.11": "rrra__clap-4.3.11", + "rrra__env_logger-0.10.0": "rrra__env_logger-0.10.0", + "rrra__itertools-0.11.0": "rrra__itertools-0.11.0", + "rrra__log-0.4.19": "rrra__log-0.4.19", + "rrra__serde-1.0.171": "rrra__serde-1.0.171", + "rrra__serde_json-1.0.102": "rrra__serde_json-1.0.102", + "rules_rust_bindgen__bindgen-0.69.1": "rules_rust_bindgen__bindgen-0.69.1", + "rules_rust_bindgen__bindgen-cli-0.69.1": "rules_rust_bindgen__bindgen-cli-0.69.1", + "rules_rust_bindgen__clang-sys-1.6.1": "rules_rust_bindgen__clang-sys-1.6.1", + "rules_rust_bindgen__clap-4.3.3": "rules_rust_bindgen__clap-4.3.3", + "rules_rust_bindgen__clap_complete-4.3.1": "rules_rust_bindgen__clap_complete-4.3.1", + "rules_rust_bindgen__env_logger-0.10.0": "rules_rust_bindgen__env_logger-0.10.0", + "rules_rust_prost": "rules_rust_prost", + "rules_rust_prost__h2-0.3.19": "rules_rust_prost__h2-0.3.19", + "rules_rust_prost__heck": "rules_rust_prost__heck", + "rules_rust_prost__prost-0.11.9": "rules_rust_prost__prost-0.11.9", + "rules_rust_prost__prost-types-0.11.9": "rules_rust_prost__prost-types-0.11.9", + "rules_rust_prost__protoc-gen-prost-0.2.2": "rules_rust_prost__protoc-gen-prost-0.2.2", + "rules_rust_prost__protoc-gen-tonic-0.2.2": "rules_rust_prost__protoc-gen-tonic-0.2.2", + "rules_rust_prost__tokio-1.28.2": "rules_rust_prost__tokio-1.28.2", + "rules_rust_prost__tokio-stream-0.1.14": "rules_rust_prost__tokio-stream-0.1.14", + "rules_rust_prost__tonic-0.9.2": "rules_rust_prost__tonic-0.9.2", + "rules_rust_test_load_arbitrary_tool": "rules_rust_test_load_arbitrary_tool", + "rules_rust_tinyjson": "rules_rust_tinyjson", + "rules_rust_toolchain_test_target_json": "rules_rust_toolchain_test_target_json", + "rules_rust_wasm_bindgen__anyhow-1.0.71": "rules_rust_wasm_bindgen__anyhow-1.0.71", + "rules_rust_wasm_bindgen__assert_cmd-1.0.8": "rules_rust_wasm_bindgen__assert_cmd-1.0.8", + "rules_rust_wasm_bindgen__diff-0.1.13": "rules_rust_wasm_bindgen__diff-0.1.13", + "rules_rust_wasm_bindgen__docopt-1.1.1": "rules_rust_wasm_bindgen__docopt-1.1.1", + "rules_rust_wasm_bindgen__env_logger-0.8.4": "rules_rust_wasm_bindgen__env_logger-0.8.4", + "rules_rust_wasm_bindgen__log-0.4.19": "rules_rust_wasm_bindgen__log-0.4.19", + "rules_rust_wasm_bindgen__predicates-1.0.8": "rules_rust_wasm_bindgen__predicates-1.0.8", + "rules_rust_wasm_bindgen__rayon-1.7.0": "rules_rust_wasm_bindgen__rayon-1.7.0", + "rules_rust_wasm_bindgen__rouille-3.6.2": "rules_rust_wasm_bindgen__rouille-3.6.2", + "rules_rust_wasm_bindgen__serde-1.0.171": "rules_rust_wasm_bindgen__serde-1.0.171", + "rules_rust_wasm_bindgen__serde_derive-1.0.171": "rules_rust_wasm_bindgen__serde_derive-1.0.171", + "rules_rust_wasm_bindgen__serde_json-1.0.102": "rules_rust_wasm_bindgen__serde_json-1.0.102", + "rules_rust_wasm_bindgen__tempfile-3.6.0": "rules_rust_wasm_bindgen__tempfile-3.6.0", + "rules_rust_wasm_bindgen__ureq-2.8.0": "rules_rust_wasm_bindgen__ureq-2.8.0", + "rules_rust_wasm_bindgen__walrus-0.20.3": "rules_rust_wasm_bindgen__walrus-0.20.3", + "rules_rust_wasm_bindgen__wasm-bindgen-0.2.91": "rules_rust_wasm_bindgen__wasm-bindgen-0.2.91", + "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91": "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91", + "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91": "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91", + "rules_rust_wasm_bindgen__wasmparser-0.102.0": "rules_rust_wasm_bindgen__wasmparser-0.102.0", + "rules_rust_wasm_bindgen__wasmprinter-0.2.60": "rules_rust_wasm_bindgen__wasmprinter-0.2.60", + "rules_rust_wasm_bindgen_cli": "rules_rust_wasm_bindgen_cli" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_rust//rust:extensions.bzl", + "extensionName": "rust", + "usingModule": "rules_rust@0.40.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_rust/0.40.0/MODULE.bazel", + "line": 131, + "column": 21 + }, + "imports": { + "rust_toolchains": "rust_toolchains", + "rust_host_tools": "rust_host_tools" + }, + "devImports": [], + "tags": [ + { + "tagName": "toolchain", + "attributeValues": { + "edition": "2021" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_rust/0.40.0/MODULE.bazel", + "line": 132, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_rust//crate_universe/private/module_extensions:cargo_bazel_bootstrap.bzl", + "extensionName": "cargo_bazel_bootstrap", + "usingModule": "rules_rust@0.40.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_rust/0.40.0/MODULE.bazel", + "line": 141, + "column": 38 + }, + "imports": { + "cargo_bazel_bootstrap": "cargo_bazel_bootstrap" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "platforms": "platforms@0.0.8", + "rules_cc": "rules_cc@0.0.9", + "rules_license": "rules_license@0.0.8", + "rules_proto": "rules_proto@5.3.0-21.7", + "build_bazel_apple_support": "apple_support@1.13.0", + "com_google_protobuf": "protobuf@21.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0", + "urls": [ + "https://github.com/bazelbuild/rules_rust/releases/download/0.40.0/rules_rust-v0.40.0.tar.gz" + ], + "integrity": "sha256-ww398ehv1QZQp26mRbOkXy8AZnsGGHpoXpVU4WfKl+4=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "bazel_tools@_": { + "name": "bazel_tools", + "version": "", + "key": "bazel_tools@_", + "repoName": "bazel_tools", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all", + "@local_config_sh//:local_sh_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 17, + "column": 29 + }, + "imports": { + "local_config_cc": "local_config_cc", + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/osx:xcode_configure.bzl", + "extensionName": "xcode_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 21, + "column": 32 + }, + "imports": { + "local_config_xcode": "local_config_xcode" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 24, + "column": 32 + }, + "imports": { + "local_jdk": "local_jdk", + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/sh:sh_configure.bzl", + "extensionName": "sh_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 35, + "column": 39 + }, + "imports": { + "local_config_sh": "local_config_sh" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/test:extensions.bzl", + "extensionName": "remote_coverage_tools_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 39, + "column": 48 + }, + "imports": { + "remote_coverage_tools": "remote_coverage_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/android:android_extensions.bzl", + "extensionName": "remote_android_tools_extensions", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 42, + "column": 42 + }, + "imports": { + "android_gmaven_r8": "android_gmaven_r8", + "android_tools": "android_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "rules_cc": "rules_cc@0.0.9", + "rules_java": "rules_java@7.1.0", + "rules_license": "rules_license@0.0.8", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_python": "rules_python@0.10.2", + "platforms": "platforms@0.0.8", + "com_google_protobuf": "protobuf@21.7", + "zlib": "zlib@1.3", + "build_bazel_apple_support": "apple_support@1.13.0", + "local_config_platform": "local_config_platform@_" + } + }, + "local_config_platform@_": { + "name": "local_config_platform", + "version": "", + "key": "local_config_platform@_", + "repoName": "local_config_platform", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_" + } + }, + "platforms@0.0.8": { + "name": "platforms", + "version": "0.0.8", + "key": "platforms@0.0.8", + "repoName": "platforms", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "rules_license": "rules_license@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "platforms", + "urls": [ + "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz" + ], + "integrity": "sha256-gVBAZgU4ns7LbaB8vLUJ1WN6OrmiS8abEQFTE2fYnXQ=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_cc@0.0.9": { + "name": "rules_cc", + "version": "0.0.9", + "key": "rules_cc@0.0.9", + "repoName": "rules_cc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "rules_cc@0.0.9", + "location": { + "file": "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel", + "line": 9, + "column": 29 + }, + "imports": { + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_cc~0.0.9", + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz" + ], + "integrity": "sha256-IDeHW5pEVtzkp50RKorohbvEqtlo5lh9ym5k86CQDN8=", + "strip_prefix": "rules_cc-0.0.9", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_cc/0.0.9/patches/module_dot_bazel_version.patch": "sha256-mM+qzOI0SgAdaJBlWOSMwMPKpaA9b7R37Hj/tp5bb4g=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_license@0.0.8": { + "name": "rules_license", + "version": "0.0.8", + "key": "rules_license@0.0.8", + "repoName": "rules_license", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_license~0.0.8", + "urls": [ + "https://github.com/bazelbuild/rules_license/releases/download/0.0.8/rules_license-0.0.8.tar.gz" + ], + "integrity": "sha256-JBsG8wl/0Yb/RogyFQ1swUIkfcQqMqrvtW0AmYlf0ik=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_proto@5.3.0-21.7": { + "name": "rules_proto", + "version": "5.3.0-21.7", + "key": "rules_proto@5.3.0-21.7", + "repoName": "rules_proto", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "com_google_protobuf": "protobuf@21.7", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_proto~5.3.0-21.7", + "urls": [ + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz" + ], + "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=", + "strip_prefix": "rules_proto-5.3.0-21.7", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "apple_support@1.13.0": { + "name": "apple_support", + "version": "1.13.0", + "key": "apple_support@1.13.0", + "repoName": "build_bazel_apple_support", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_apple_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl", + "extensionName": "apple_cc_configure_extension", + "usingModule": "apple_support@1.13.0", + "location": { + "file": "https://bcr.bazel.build/modules/apple_support/1.13.0/MODULE.bazel", + "line": 19, + "column": 35 + }, + "imports": { + "local_config_apple_cc": "local_config_apple_cc", + "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "apple_support~1.13.0", + "urls": [ + "https://github.com/bazelbuild/apple_support/releases/download/1.13.0/apple_support.1.13.0.tar.gz" + ], + "integrity": "sha256-HEAx5ytFagSNgXf1mlWBgIwHWF+p4lXG9f77h1KvfkA=", + "strip_prefix": "", + "remote_patches": { + "https://bcr.bazel.build/modules/apple_support/1.13.0/patches/module_dot_bazel_version.patch": "sha256-OqLgfAMNy6ZUF/WaVkNXzB/KcCYLlHLspYNk67mcASA=" + }, + "remote_patch_strip": 1 + } + } + }, + "protobuf@21.7": { + "name": "protobuf", + "version": "21.7", + "key": "protobuf@21.7", + "repoName": "protobuf", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_jvm_external//:extensions.bzl", + "extensionName": "maven", + "usingModule": "protobuf@21.7", + "location": { + "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel", + "line": 22, + "column": 22 + }, + "imports": { + "maven": "maven" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": { + "name": "maven", + "artifacts": [ + "com.google.code.findbugs:jsr305:3.0.2", + "com.google.code.gson:gson:2.8.9", + "com.google.errorprone:error_prone_annotations:2.3.2", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.guava:guava:31.1-jre", + "com.google.guava:guava-testlib:31.1-jre", + "com.google.truth:truth:1.1.2", + "junit:junit:4.13.2", + "org.mockito:mockito-core:4.3.1" + ] + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel", + "line": 24, + "column": 14 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_python": "rules_python@0.10.2", + "rules_cc": "rules_cc@0.0.9", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_java": "rules_java@7.1.0", + "rules_pkg": "rules_pkg@0.7.0", + "com_google_abseil": "abseil-cpp@20211102.0", + "zlib": "zlib@1.3", + "upb": "upb@0.0.0-20220923-a547704", + "rules_jvm_external": "rules_jvm_external@4.4.2", + "com_google_googletest": "googletest@1.11.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "protobuf~21.7", + "urls": [ + "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip" + ], + "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=", + "strip_prefix": "protobuf-21.7", + "remote_patches": { + "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=", + "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=", + "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=", + "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY=" + }, + "remote_patch_strip": 1 + } + } + }, + "rules_java@7.1.0": { + "name": "rules_java", + "version": "7.1.0", + "key": "rules_java@7.1.0", + "repoName": "rules_java", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains:all", + "@local_jdk//:runtime_toolchain_definition", + "@local_jdk//:bootstrap_runtime_toolchain_definition", + "@remotejdk11_linux_toolchain_config_repo//:all", + "@remotejdk11_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk11_linux_s390x_toolchain_config_repo//:all", + "@remotejdk11_macos_toolchain_config_repo//:all", + "@remotejdk11_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk11_win_toolchain_config_repo//:all", + "@remotejdk11_win_arm64_toolchain_config_repo//:all", + "@remotejdk17_linux_toolchain_config_repo//:all", + "@remotejdk17_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk17_linux_s390x_toolchain_config_repo//:all", + "@remotejdk17_macos_toolchain_config_repo//:all", + "@remotejdk17_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk17_win_toolchain_config_repo//:all", + "@remotejdk17_win_arm64_toolchain_config_repo//:all", + "@remotejdk21_linux_toolchain_config_repo//:all", + "@remotejdk21_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk21_macos_toolchain_config_repo//:all", + "@remotejdk21_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk21_win_toolchain_config_repo//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "rules_java@7.1.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel", + "line": 19, + "column": 27 + }, + "imports": { + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64", + "local_jdk": "local_jdk", + "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo", + "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo", + "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo", + "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo", + "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo", + "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo", + "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo", + "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo", + "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo", + "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo", + "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo", + "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo", + "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo", + "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo", + "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo", + "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo", + "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo", + "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo", + "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo", + "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo", + "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.8", + "rules_cc": "rules_cc@0.0.9", + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_license": "rules_license@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0", + "urls": [ + "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz" + ], + "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_python@0.10.2": { + "name": "rules_python", + "version": "0.10.2", + "key": "rules_python@0.10.2", + "repoName": "rules_python", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@bazel_tools//tools/python:autodetecting_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_python//python:extensions.bzl", + "extensionName": "pip_install", + "usingModule": "rules_python@0.10.2", + "location": { + "file": "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel", + "line": 7, + "column": 28 + }, + "imports": { + "pypi__click": "pypi__click", + "pypi__colorama": "pypi__colorama", + "pypi__installer": "pypi__installer", + "pypi__pep517": "pypi__pep517", + "pypi__pip": "pypi__pip", + "pypi__pip_tools": "pypi__pip_tools", + "pypi__setuptools": "pypi__setuptools", + "pypi__tomli": "pypi__tomli", + "pypi__wheel": "pypi__wheel" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_python~0.10.2", + "urls": [ + "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.10.2.tar.gz" + ], + "integrity": "sha256-o6bpn0l74In4HsCCiC5AJGv9Q19S9OgvN+iUSbBFc/Y=", + "strip_prefix": "rules_python-0.10.2", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_python/0.10.2/patches/module_dot_bazel.patch": "sha256-TScILAmXmmMtjJIwhLrgNZgqGPs6G3OAzXaLXLDNFrA=" + }, + "remote_patch_strip": 0 + } + } + }, + "zlib@1.3": { + "name": "zlib", + "version": "1.3", + "key": "zlib@1.3", + "repoName": "zlib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.8", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "zlib~1.3", + "urls": [ + "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz" + ], + "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=", + "strip_prefix": "zlib-1.3", + "remote_patches": { + "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=", + "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_pkg@0.7.0": { + "name": "rules_pkg", + "version": "0.7.0", + "key": "rules_pkg@0.7.0", + "repoName": "rules_pkg", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "rules_python": "rules_python@0.10.2", + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_license": "rules_license@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_pkg~0.7.0", + "urls": [ + "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz" + ], + "integrity": "sha256-iimOgydi7aGDBZfWT+fbWBeKqEzVkm121bdE1lWJQcI=", + "strip_prefix": "", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/patches/module_dot_bazel.patch": "sha256-4OaEPZwYF6iC71ZTDg6MJ7LLqX7ZA0/kK4mT+4xKqiE=" + }, + "remote_patch_strip": 0 + } + } + }, + "abseil-cpp@20211102.0": { + "name": "abseil-cpp", + "version": "20211102.0", + "key": "abseil-cpp@20211102.0", + "repoName": "abseil-cpp", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "rules_cc": "rules_cc@0.0.9", + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "abseil-cpp~20211102.0", + "urls": [ + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz" + ], + "integrity": "sha256-3PcbnLqNwMqZQMSzFqDHlr6Pq0KwcLtrfKtitI8OZsQ=", + "strip_prefix": "abseil-cpp-20211102.0", + "remote_patches": { + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/patches/module_dot_bazel.patch": "sha256-4izqopgGCey4jVZzl/w3M2GVPNohjh2B5TmbThZNvPY=" + }, + "remote_patch_strip": 0 + } + } + }, + "upb@0.0.0-20220923-a547704": { + "name": "upb", + "version": "0.0.0-20220923-a547704", + "key": "upb@0.0.0-20220923-a547704", + "repoName": "upb", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_proto": "rules_proto@5.3.0-21.7", + "com_google_protobuf": "protobuf@21.7", + "com_google_absl": "abseil-cpp@20211102.0", + "platforms": "platforms@0.0.8", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "upb~0.0.0-20220923-a547704", + "urls": [ + "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz" + ], + "integrity": "sha256-z39x6v+QskwaKLSWRan/A6mmwecTQpHOcJActj5zZLU=", + "strip_prefix": "upb-a5477045acaa34586420942098f5fecd3570f577", + "remote_patches": { + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/patches/module_dot_bazel.patch": "sha256-wH4mNS6ZYy+8uC0HoAft/c7SDsq2Kxf+J8dUakXhaB0=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_jvm_external@4.4.2": { + "name": "rules_jvm_external", + "version": "4.4.2", + "key": "rules_jvm_external@4.4.2", + "repoName": "rules_jvm_external", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_jvm_external//:non-module-deps.bzl", + "extensionName": "non_module_deps", + "usingModule": "rules_jvm_external@4.4.2", + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel", + "line": 9, + "column": 32 + }, + "imports": { + "io_bazel_rules_kotlin": "io_bazel_rules_kotlin" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": ":extensions.bzl", + "extensionName": "maven", + "usingModule": "rules_jvm_external@4.4.2", + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel", + "line": 16, + "column": 22 + }, + "imports": { + "rules_jvm_external_deps": "rules_jvm_external_deps" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": { + "name": "rules_jvm_external_deps", + "artifacts": [ + "com.google.cloud:google-cloud-core:1.93.10", + "com.google.cloud:google-cloud-storage:1.113.4", + "com.google.code.gson:gson:2.9.0", + "org.apache.maven:maven-artifact:3.8.6", + "software.amazon.awssdk:s3:2.17.183" + ], + "lock_file": "@rules_jvm_external//:rules_jvm_external_deps_install.json" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel", + "line": 18, + "column": 14 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "io_bazel_stardoc": "stardoc@0.5.1", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_jvm_external~4.4.2", + "urls": [ + "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/4.4.2.zip" + ], + "integrity": "sha256-c1YC9QgT6y6pPKP15DsZWb2AshO4NqB6YqKddXZwt3s=", + "strip_prefix": "rules_jvm_external-4.4.2", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "googletest@1.11.0": { + "name": "googletest", + "version": "1.11.0", + "key": "googletest@1.11.0", + "repoName": "googletest", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "com_google_absl": "abseil-cpp@20211102.0", + "platforms": "platforms@0.0.8", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "googletest~1.11.0", + "urls": [ + "https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz" + ], + "integrity": "sha256-tIcL8SH/d5W6INILzdhie44Ijy0dqymaAxwQNO3ck9U=", + "strip_prefix": "googletest-release-1.11.0", + "remote_patches": { + "https://bcr.bazel.build/modules/googletest/1.11.0/patches/module_dot_bazel.patch": "sha256-HuahEdI/n8KCI071sN3CEziX+7qP/Ec77IWayYunLP0=" + }, + "remote_patch_strip": 0 + } + } + }, + "stardoc@0.5.1": { + "name": "stardoc", + "version": "0.5.1", + "key": "stardoc@0.5.1", + "repoName": "stardoc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_java": "rules_java@7.1.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "stardoc~0.5.1", + "urls": [ + "https://github.com/bazelbuild/stardoc/releases/download/0.5.1/stardoc-0.5.1.tar.gz" + ], + "integrity": "sha256-qoFNrgrEALurLoiB+ZFcb0fElmS/CHxAmhX5BDjSwj4=", + "strip_prefix": "", + "remote_patches": { + "https://bcr.bazel.build/modules/stardoc/0.5.1/patches/module_dot_bazel.patch": "sha256-UAULCuTpJE7SG0YrR9XLjMfxMRmbP+za3uW9ONZ5rjI=" + }, + "remote_patch_strip": 0 + } + } + } + }, + "moduleExtensions": { + "//tools/bazel:extension.bzl%crate_repositories": { + "general": { + "bzlTransitiveDigest": "TUyLx8JsEfCcGo2uLlh+HoPZ4KOk4GPMGIyySckpY+c=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "vendor__unicode-width-0.1.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__unicode-width-0.1.11", + "sha256": "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-width/0.1.11/download" + ], + "strip_prefix": "unicode-width-0.1.11", + "build_file": "@@//third-party/bazel:BUILD.unicode-width-0.1.11.bazel" + } + }, + "vendor__once_cell-1.19.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__once_cell-1.19.0", + "sha256": "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.19.0/download" + ], + "strip_prefix": "once_cell-1.19.0", + "build_file": "@@//third-party/bazel:BUILD.once_cell-1.19.0.bazel" + } + }, + "vendor__termcolor-1.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__termcolor-1.4.1", + "sha256": "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/termcolor/1.4.1/download" + ], + "strip_prefix": "termcolor-1.4.1", + "build_file": "@@//third-party/bazel:BUILD.termcolor-1.4.1.bazel" + } + }, + "vendor__quote-1.0.35": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__quote-1.0.35", + "sha256": "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.35/download" + ], + "strip_prefix": "quote-1.0.35", + "build_file": "@@//third-party/bazel:BUILD.quote-1.0.35.bazel" + } + }, + "vendor__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@//third-party/bazel:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "vendor__clap_builder-4.5.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__clap_builder-4.5.1", + "sha256": "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_builder/4.5.1/download" + ], + "strip_prefix": "clap_builder-4.5.1", + "build_file": "@@//third-party/bazel:BUILD.clap_builder-4.5.1.bazel" + } + }, + "vendor__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@//third-party/bazel:BUILD.winapi-0.3.9.bazel" + } + }, + "vendor__anstyle-1.0.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__anstyle-1.0.6", + "sha256": "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle/1.0.6/download" + ], + "strip_prefix": "anstyle-1.0.6", + "build_file": "@@//third-party/bazel:BUILD.anstyle-1.0.6.bazel" + } + }, + "vendor__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@//third-party/bazel:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "vendor__cc-1.0.89": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__cc-1.0.89", + "sha256": "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.89/download" + ], + "strip_prefix": "cc-1.0.89", + "build_file": "@@//third-party/bazel:BUILD.cc-1.0.89.bazel" + } + }, + "vendor__unicode-ident-1.0.12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__unicode-ident-1.0.12", + "sha256": "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.12/download" + ], + "strip_prefix": "unicode-ident-1.0.12", + "build_file": "@@//third-party/bazel:BUILD.unicode-ident-1.0.12.bazel" + } + }, + "vendor__scratch-1.0.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__scratch-1.0.7", + "sha256": "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/scratch/1.0.7/download" + ], + "strip_prefix": "scratch-1.0.7", + "build_file": "@@//third-party/bazel:BUILD.scratch-1.0.7.bazel" + } + }, + "vendor__clap-4.5.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__clap-4.5.1", + "sha256": "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap/4.5.1/download" + ], + "strip_prefix": "clap-4.5.1", + "build_file": "@@//third-party/bazel:BUILD.clap-4.5.1.bazel" + } + }, + "vendor__syn-2.0.52": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__syn-2.0.52", + "sha256": "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.52/download" + ], + "strip_prefix": "syn-2.0.52", + "build_file": "@@//third-party/bazel:BUILD.syn-2.0.52.bazel" + } + }, + "vendor__codespan-reporting-0.11.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__codespan-reporting-0.11.1", + "sha256": "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download" + ], + "strip_prefix": "codespan-reporting-0.11.1", + "build_file": "@@//third-party/bazel:BUILD.codespan-reporting-0.11.1.bazel" + } + }, + "vendor__clap_lex-0.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__clap_lex-0.7.0", + "sha256": "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_lex/0.7.0/download" + ], + "strip_prefix": "clap_lex-0.7.0", + "build_file": "@@//third-party/bazel:BUILD.clap_lex-0.7.0.bazel" + } + }, + "vendor__winapi-util-0.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__winapi-util-0.1.6", + "sha256": "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-util/0.1.6/download" + ], + "strip_prefix": "winapi-util-0.1.6", + "build_file": "@@//third-party/bazel:BUILD.winapi-util-0.1.6.bazel" + } + }, + "vendor__proc-macro2-1.0.78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~crate_repositories~vendor__proc-macro2-1.0.78", + "sha256": "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.78/download" + ], + "strip_prefix": "proc-macro2-1.0.78", + "build_file": "@@//third-party/bazel:BUILD.proc-macro2-1.0.78.bazel" + } + } + }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [ + "vendor__cc-1.0.89", + "vendor__clap-4.5.1", + "vendor__codespan-reporting-0.11.1", + "vendor__once_cell-1.19.0", + "vendor__proc-macro2-1.0.78", + "vendor__quote-1.0.35", + "vendor__scratch-1.0.7", + "vendor__syn-2.0.52" + ], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO" + }, + "recordedRepoMappingEntries": [ + [ + "", + "", + "" + ], + [ + "", + "bazel_skylib", + "bazel_skylib~1.5.0" + ], + [ + "", + "bazel_tools", + "bazel_tools" + ], + [ + "", + "vendor__cc-1.0.89", + "_main~crate_repositories~vendor__cc-1.0.89" + ], + [ + "", + "vendor__clap-4.5.1", + "_main~crate_repositories~vendor__clap-4.5.1" + ], + [ + "", + "vendor__codespan-reporting-0.11.1", + "_main~crate_repositories~vendor__codespan-reporting-0.11.1" + ], + [ + "", + "vendor__once_cell-1.19.0", + "_main~crate_repositories~vendor__once_cell-1.19.0" + ], + [ + "", + "vendor__proc-macro2-1.0.78", + "_main~crate_repositories~vendor__proc-macro2-1.0.78" + ], + [ + "", + "vendor__quote-1.0.35", + "_main~crate_repositories~vendor__quote-1.0.35" + ], + [ + "", + "vendor__scratch-1.0.7", + "_main~crate_repositories~vendor__scratch-1.0.7" + ], + [ + "", + "vendor__syn-2.0.52", + "_main~crate_repositories~vendor__syn-2.0.52" + ] + ] + } + }, + "@@apple_support~1.13.0//crosstool:setup.bzl%apple_cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "TMkUP4/N3ZORvZrcDg9FxSoW9r/7+uDVH/SI2biRyJg=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_apple_cc": { + "bzlFile": "@@apple_support~1.13.0//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf", + "attributes": { + "name": "apple_support~1.13.0~apple_cc_configure_extension~local_config_apple_cc" + } + }, + "local_config_apple_cc_toolchains": { + "bzlFile": "@@apple_support~1.13.0//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf_toolchains", + "attributes": { + "name": "apple_support~1.13.0~apple_cc_configure_extension~local_config_apple_cc_toolchains" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "apple_support~1.13.0", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_cc": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf", + "attributes": { + "name": "bazel_tools~cc_configure_extension~local_config_cc" + } + }, + "local_config_cc_toolchains": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf_toolchains", + "attributes": { + "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "bazel_tools", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { + "general": { + "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_xcode": { + "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", + "ruleClassName": "xcode_autoconf", + "attributes": { + "name": "bazel_tools~xcode_configure_extension~local_config_xcode", + "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m", + "remote_xcode": "" + } + } + }, + "recordedRepoMappingEntries": [] + } + }, + "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { + "general": { + "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_sh": { + "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl", + "ruleClassName": "sh_config", + "attributes": { + "name": "bazel_tools~sh_configure_extension~local_config_sh" + } + } + }, + "recordedRepoMappingEntries": [] + } + }, + "@@rules_java~7.1.0//java:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "remotejdk21_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\n" + } + }, + "remotejdk21_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk21_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz" + ] + } + }, + "remotejdk17_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz" + ] + } + }, + "remote_java_tools_windows": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows", + "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip" + ] + } + }, + "remotejdk11_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip" + ] + } + }, + "remotejdk11_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk17_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz" + ] + } + }, + "remotejdk11_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\n" + } + }, + "remotejdk11_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz" + ] + } + }, + "remotejdk11_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + } + }, + "remotejdk17_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz" + ] + } + }, + "remotejdk21_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz" + ] + } + }, + "remotejdk21_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk17_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip" + ] + } + }, + "remotejdk11_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n" + } + }, + "remotejdk21_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz" + ] + } + }, + "remote_java_tools_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux", + "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip" + ] + } + }, + "remotejdk21_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip" + ] + } + }, + "remotejdk21_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk11_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" + ] + } + }, + "remotejdk17_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk17_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz" + ] + } + }, + "remotejdk11_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n" + } + }, + "remotejdk17_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip" + ] + } + }, + "remote_java_tools_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64", + "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip" + ] + } + }, + "remotejdk17_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd", + "strip_prefix": "jdk-17.0.8.1+1", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz", + "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz" + ] + } + }, + "remotejdk21_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n" + } + }, + "local_jdk": { + "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl", + "ruleClassName": "_local_java_repository_rule", + "attributes": { + "name": "rules_java~7.1.0~toolchains~local_jdk", + "java_home": "", + "version": "", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = {RUNTIME_VERSION},\n)\n" + } + }, + "remote_java_tools_darwin_x86_64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64", + "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip" + ] + } + }, + "remote_java_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools", + "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip" + ] + } + }, + "remotejdk17_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37", + "strip_prefix": "jdk-17.0.8.1+1", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz", + "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz" + ] + } + }, + "remotejdk17_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" + ] + } + }, + "remotejdk11_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz" + ] + } + }, + "remotejdk21_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\n" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_java~7.1.0", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_java~7.1.0", + "remote_java_tools", + "rules_java~7.1.0~toolchains~remote_java_tools" + ] + ] + } + }, + "@@rules_rust~0.40.0//rust:extensions.bzl%rust": { + "general": { + "bzlTransitiveDigest": "I2ECWAfjTweoEwT+ulurWMJlNijPuXMqs3vBh+mgvd0=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "rust_windows_x86_64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__wasm32-wasi__stable_tools", + "exec_triple": "x86_64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_aarch64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__wasm32-wasi__stable_tools", + "exec_triple": "aarch64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_x86_64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__wasm32-wasi__stable_tools", + "exec_triple": "x86_64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "x86_64-unknown-freebsd", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_freebsd_x86_64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__wasm32-wasi__stable", + "toolchain": "@rust_freebsd_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools", + "exec_triple": "aarch64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "aarch64-unknown-linux-gnu", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__aarch64-unknown-linux-gnu__stable", + "toolchain": "@rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ] + } + }, + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu", + "toolchain": "@rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "target_compatible_with": [] + } + }, + "rust_windows_x86_64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64", + "toolchains": [ + "@rust_windows_x86_64__x86_64-pc-windows-msvc__stable//:toolchain", + "@rust_windows_x86_64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_windows_x86_64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rust_linux_aarch64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_linux_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_windows_aarch64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__wasm32-wasi__stable_tools", + "exec_triple": "aarch64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools", + "exec_triple": "x86_64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "x86_64-unknown-linux-gnu", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__aarch64-pc-windows-msvc__stable_tools", + "exec_triple": "aarch64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "aarch64-pc-windows-msvc", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_windows_aarch64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64", + "toolchains": [ + "@rust_windows_aarch64__aarch64-pc-windows-msvc__stable//:toolchain", + "@rust_windows_aarch64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_windows_aarch64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu", + "toolchain": "@rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "target_compatible_with": [] + } + }, + "rust_linux_x86_64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_linux_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools", + "exec_triple": "x86_64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "x86_64-pc-windows-msvc", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-apple-darwin", + "toolchain": "@rustfmt_nightly-2024-02-08__x86_64-apple-darwin_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "target_compatible_with": [] + } + }, + "rust_analyzer_1.76.0_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_analyzer_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_analyzer_1.76.0_tools", + "version": "1.76.0", + "iso_date": "", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__x86_64-unknown-freebsd__stable_tools", + "exec_triple": "x86_64-unknown-freebsd", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "x86_64-unknown-freebsd", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_x86_64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_darwin_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_darwin_aarch64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_darwin_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_darwin_aarch64__aarch64-apple-darwin__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__aarch64-apple-darwin__stable", + "toolchain": "@rust_darwin_aarch64__aarch64-apple-darwin__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ] + } + }, + "rust_windows_x86_64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__wasm32-wasi__stable", + "toolchain": "@rust_windows_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-apple-darwin_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "aarch64-apple-darwin" + } + }, + "rust_darwin_x86_64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64", + "toolchains": [ + "@rust_darwin_x86_64__x86_64-apple-darwin__stable//:toolchain", + "@rust_darwin_x86_64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_darwin_x86_64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rust_windows_aarch64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__wasm32-wasi__stable", + "toolchain": "@rust_windows_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rust_darwin_x86_64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "x86_64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_aarch64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "aarch64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_windows_x86_64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "x86_64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-apple-darwin", + "toolchain": "@rustfmt_nightly-2024-02-08__aarch64-apple-darwin_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "target_compatible_with": [] + } + }, + "rust_linux_aarch64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__wasm32-wasi__stable", + "toolchain": "@rust_linux_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rust_darwin_aarch64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64", + "toolchains": [ + "@rust_darwin_aarch64__aarch64-apple-darwin__stable//:toolchain", + "@rust_darwin_aarch64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_darwin_aarch64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd", + "toolchain": "@rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "target_compatible_with": [] + } + }, + "rust_darwin_x86_64__x86_64-apple-darwin__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__x86_64-apple-darwin__stable", + "toolchain": "@rust_darwin_x86_64__x86_64-apple-darwin__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ] + } + }, + "rust_linux_x86_64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "x86_64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_freebsd_x86_64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__wasm32-wasi__stable_tools", + "exec_triple": "x86_64-unknown-freebsd", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "x86_64-unknown-freebsd" + } + }, + "rust_darwin_x86_64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__wasm32-wasi__stable", + "toolchain": "@rust_darwin_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rust_host_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_host_tools", + "exec_triple": "x86_64-unknown-linux-gnu", + "target_triple": "x86_64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "dev_components": false, + "edition": "", + "rustfmt_version": "nightly/2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "version": "1.76.0" + } + }, + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_freebsd_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_freebsd_x86_64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64", + "toolchains": [ + "@rust_freebsd_x86_64__x86_64-unknown-freebsd__stable//:toolchain", + "@rust_freebsd_x86_64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_freebsd_x86_64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rust_linux_x86_64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__wasm32-wasi__stable_tools", + "exec_triple": "x86_64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_windows_x86_64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_windows_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "x86_64-unknown-linux-gnu" + } + }, + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__x86_64-unknown-linux-gnu__stable", + "toolchain": "@rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ] + } + }, + "rust_linux_x86_64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64", + "toolchains": [ + "@rust_linux_x86_64__x86_64-unknown-linux-gnu__stable//:toolchain", + "@rust_linux_x86_64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_linux_x86_64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_x86_64__x86_64-pc-windows-msvc__stable", + "toolchain": "@rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ] + } + }, + "rust_linux_x86_64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_x86_64__wasm32-wasi__stable", + "toolchain": "@rust_linux_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rust_windows_aarch64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "aarch64-pc-windows-msvc", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_aarch64__aarch64-apple-darwin__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__aarch64-apple-darwin__stable_tools", + "exec_triple": "aarch64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "aarch64-apple-darwin", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_linux_aarch64__wasm32-wasi__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__wasm32-wasi__stable_tools", + "exec_triple": "aarch64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-wasi", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "aarch64-pc-windows-msvc" + } + }, + "rust_windows_aarch64__wasm32-unknown-unknown__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__wasm32-unknown-unknown__stable", + "toolchain": "@rust_windows_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ] + } + }, + "rust_linux_aarch64": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_set_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64", + "toolchains": [ + "@rust_linux_aarch64__aarch64-unknown-linux-gnu__stable//:toolchain", + "@rust_linux_aarch64__wasm32-unknown-unknown__stable//:toolchain", + "@rust_linux_aarch64__wasm32-wasi__stable//:toolchain" + ] + } + }, + "rust_darwin_aarch64__wasm32-wasi__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_aarch64__wasm32-wasi__stable", + "toolchain": "@rust_darwin_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "target_compatible_with": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ] + } + }, + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "x86_64-pc-windows-msvc" + } + }, + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "aarch64-unknown-linux-gnu" + } + }, + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_windows_aarch64__aarch64-pc-windows-msvc__stable", + "toolchain": "@rust_windows_aarch64__aarch64-pc-windows-msvc__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "target_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ] + } + }, + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rustfmt_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-apple-darwin_tools", + "version": "nightly", + "iso_date": "2024-02-08", + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {}, + "exec_triple": "x86_64-apple-darwin" + } + }, + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc", + "toolchain": "@rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "target_compatible_with": [] + } + }, + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_freebsd_x86_64__x86_64-unknown-freebsd__stable", + "toolchain": "@rust_freebsd_x86_64__x86_64-unknown-freebsd__stable_tools//:rust_toolchain", + "target_settings": [ + "@rules_rust//rust/toolchain/channel:stable" + ], + "toolchain_type": "@rules_rust//rust:toolchain", + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "target_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ] + } + }, + "rust_analyzer_1.76.0": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_analyzer_1.76.0", + "toolchain": "@rust_analyzer_1.76.0_tools//:rust_analyzer_toolchain", + "toolchain_type": "@rules_rust//rust/rust_analyzer:toolchain_type", + "exec_compatible_with": [], + "target_compatible_with": [] + } + }, + "rust_toolchains": { + "bzlFile": "@@rules_rust~0.40.0//rust/private:repository_utils.bzl", + "ruleClassName": "toolchain_repository_hub", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_toolchains", + "toolchain_names": [ + "rust_analyzer_1.76.0", + "rust_darwin_aarch64__aarch64-apple-darwin__stable", + "rust_darwin_aarch64__wasm32-unknown-unknown__stable", + "rust_darwin_aarch64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin", + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable", + "rust_windows_aarch64__wasm32-unknown-unknown__stable", + "rust_windows_aarch64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc", + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable", + "rust_linux_aarch64__wasm32-unknown-unknown__stable", + "rust_linux_aarch64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu", + "rust_darwin_x86_64__x86_64-apple-darwin__stable", + "rust_darwin_x86_64__wasm32-unknown-unknown__stable", + "rust_darwin_x86_64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin", + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable", + "rust_windows_x86_64__wasm32-unknown-unknown__stable", + "rust_windows_x86_64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc", + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable", + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable", + "rust_freebsd_x86_64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd", + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable", + "rust_linux_x86_64__wasm32-unknown-unknown__stable", + "rust_linux_x86_64__wasm32-wasi__stable", + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu" + ], + "toolchain_labels": { + "rust_analyzer_1.76.0": "@rust_analyzer_1.76.0_tools//:rust_analyzer_toolchain", + "rust_darwin_aarch64__aarch64-apple-darwin__stable": "@rust_darwin_aarch64__aarch64-apple-darwin__stable_tools//:rust_toolchain", + "rust_darwin_aarch64__wasm32-unknown-unknown__stable": "@rust_darwin_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_darwin_aarch64__wasm32-wasi__stable": "@rust_darwin_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin": "@rustfmt_nightly-2024-02-08__aarch64-apple-darwin_tools//:rustfmt_toolchain", + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable": "@rust_windows_aarch64__aarch64-pc-windows-msvc__stable_tools//:rust_toolchain", + "rust_windows_aarch64__wasm32-unknown-unknown__stable": "@rust_windows_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_windows_aarch64__wasm32-wasi__stable": "@rust_windows_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc": "@rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc_tools//:rustfmt_toolchain", + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable": "@rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools//:rust_toolchain", + "rust_linux_aarch64__wasm32-unknown-unknown__stable": "@rust_linux_aarch64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_linux_aarch64__wasm32-wasi__stable": "@rust_linux_aarch64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu": "@rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu_tools//:rustfmt_toolchain", + "rust_darwin_x86_64__x86_64-apple-darwin__stable": "@rust_darwin_x86_64__x86_64-apple-darwin__stable_tools//:rust_toolchain", + "rust_darwin_x86_64__wasm32-unknown-unknown__stable": "@rust_darwin_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_darwin_x86_64__wasm32-wasi__stable": "@rust_darwin_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin": "@rustfmt_nightly-2024-02-08__x86_64-apple-darwin_tools//:rustfmt_toolchain", + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable": "@rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools//:rust_toolchain", + "rust_windows_x86_64__wasm32-unknown-unknown__stable": "@rust_windows_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_windows_x86_64__wasm32-wasi__stable": "@rust_windows_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc": "@rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc_tools//:rustfmt_toolchain", + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable": "@rust_freebsd_x86_64__x86_64-unknown-freebsd__stable_tools//:rust_toolchain", + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable": "@rust_freebsd_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_freebsd_x86_64__wasm32-wasi__stable": "@rust_freebsd_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd": "@rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd_tools//:rustfmt_toolchain", + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable": "@rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools//:rust_toolchain", + "rust_linux_x86_64__wasm32-unknown-unknown__stable": "@rust_linux_x86_64__wasm32-unknown-unknown__stable_tools//:rust_toolchain", + "rust_linux_x86_64__wasm32-wasi__stable": "@rust_linux_x86_64__wasm32-wasi__stable_tools//:rust_toolchain", + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu": "@rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu_tools//:rustfmt_toolchain" + }, + "toolchain_types": { + "rust_analyzer_1.76.0": "@rules_rust//rust/rust_analyzer:toolchain_type", + "rust_darwin_aarch64__aarch64-apple-darwin__stable": "@rules_rust//rust:toolchain", + "rust_darwin_aarch64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_darwin_aarch64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable": "@rules_rust//rust:toolchain", + "rust_windows_aarch64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_windows_aarch64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable": "@rules_rust//rust:toolchain", + "rust_linux_aarch64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_linux_aarch64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_darwin_x86_64__x86_64-apple-darwin__stable": "@rules_rust//rust:toolchain", + "rust_darwin_x86_64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_darwin_x86_64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable": "@rules_rust//rust:toolchain", + "rust_windows_x86_64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_windows_x86_64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable": "@rules_rust//rust:toolchain", + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_freebsd_x86_64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd": "@rules_rust//rust/rustfmt:toolchain_type", + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable": "@rules_rust//rust:toolchain", + "rust_linux_x86_64__wasm32-unknown-unknown__stable": "@rules_rust//rust:toolchain", + "rust_linux_x86_64__wasm32-wasi__stable": "@rules_rust//rust:toolchain", + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu": "@rules_rust//rust/rustfmt:toolchain_type" + }, + "exec_compatible_with": { + "rust_analyzer_1.76.0": [], + "rust_darwin_aarch64__aarch64-apple-darwin__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "rust_darwin_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "rust_darwin_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "rust_windows_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "rust_windows_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "rust_linux_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "rust_linux_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "rust_darwin_x86_64__x86_64-apple-darwin__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "rust_darwin_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "rust_darwin_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "rust_windows_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "rust_windows_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "rust_freebsd_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "rust_linux_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "rust_linux_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ] + }, + "target_compatible_with": { + "rust_analyzer_1.76.0": [], + "rust_darwin_aarch64__aarch64-apple-darwin__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:osx" + ], + "rust_darwin_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_darwin_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__aarch64-apple-darwin": [], + "rust_windows_aarch64__aarch64-pc-windows-msvc__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:windows" + ], + "rust_windows_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_windows_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__aarch64-pc-windows-msvc": [], + "rust_linux_aarch64__aarch64-unknown-linux-gnu__stable": [ + "@platforms//cpu:aarch64", + "@platforms//os:linux" + ], + "rust_linux_aarch64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_linux_aarch64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__aarch64-unknown-linux-gnu": [], + "rust_darwin_x86_64__x86_64-apple-darwin__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:osx" + ], + "rust_darwin_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_darwin_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__x86_64-apple-darwin": [], + "rust_windows_x86_64__x86_64-pc-windows-msvc__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "rust_windows_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_windows_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc": [], + "rust_freebsd_x86_64__x86_64-unknown-freebsd__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:freebsd" + ], + "rust_freebsd_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_freebsd_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__x86_64-unknown-freebsd": [], + "rust_linux_x86_64__x86_64-unknown-linux-gnu__stable": [ + "@platforms//cpu:x86_64", + "@platforms//os:linux" + ], + "rust_linux_x86_64__wasm32-unknown-unknown__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:none" + ], + "rust_linux_x86_64__wasm32-wasi__stable": [ + "@platforms//cpu:wasm32", + "@platforms//os:wasi" + ], + "rustfmt_nightly-2024-02-08__x86_64-unknown-linux-gnu": [] + } + } + }, + "rust_linux_aarch64__wasm32-unknown-unknown__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_linux_aarch64__wasm32-unknown-unknown__stable_tools", + "exec_triple": "aarch64-unknown-linux-gnu", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "wasm32-unknown-unknown", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rust_darwin_x86_64__x86_64-apple-darwin__stable_tools": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "rust_toolchain_tools_repository", + "attributes": { + "name": "rules_rust~0.40.0~rust~rust_darwin_x86_64__x86_64-apple-darwin__stable_tools", + "exec_triple": "x86_64-apple-darwin", + "allocator_library": "@rules_rust//ffi/cc/allocator_library", + "global_allocator_library": "@rules_rust//ffi/cc/global_allocator_library", + "target_triple": "x86_64-apple-darwin", + "iso_date": "", + "version": "1.76.0", + "rustfmt_version": "nightly/2024-02-08", + "edition": "", + "dev_components": false, + "extra_rustc_flags": [], + "extra_exec_rustc_flags": [], + "opt_level": {}, + "sha256s": {}, + "urls": [ + "https://static.rust-lang.org/dist/{}.tar.xz" + ], + "auth": {} + } + }, + "rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc": { + "bzlFile": "@@rules_rust~0.40.0//rust:repositories.bzl", + "ruleClassName": "toolchain_repository_proxy", + "attributes": { + "name": "rules_rust~0.40.0~rust~rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc", + "toolchain": "@rustfmt_nightly-2024-02-08__x86_64-pc-windows-msvc_tools//:rustfmt_toolchain", + "toolchain_type": "@rules_rust//rust/rustfmt:toolchain_type", + "target_settings": [], + "exec_compatible_with": [ + "@platforms//cpu:x86_64", + "@platforms//os:windows" + ], + "target_compatible_with": [] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_rust~0.40.0", + "bazel_skylib", + "bazel_skylib~1.5.0" + ], + [ + "rules_rust~0.40.0", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_rust~0.40.0", + "rules_rust", + "rules_rust~0.40.0" + ] + ] + } + }, + "@@rules_rust~0.40.0//rust/private:extensions.bzl%i": { + "general": { + "bzlTransitiveDigest": "OrqzGpSU+8nCCqWqjht8BAZsz9Rc+39MPdlnI111+f0=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "rules_rust_prost__tracing-0.1.37": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tracing-0.1.37", + "sha256": "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing/0.1.37/download" + ], + "strip_prefix": "tracing-0.1.37", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tracing-0.1.37.bazel" + } + }, + "rules_rust_tinyjson": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_tinyjson", + "sha256": "9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a", + "url": "https://crates.io/api/v1/crates/tinyjson/2.5.1/download", + "strip_prefix": "tinyjson-2.5.1", + "type": "tar.gz", + "build_file": "@@rules_rust~0.40.0//util/process_wrapper:BUILD.tinyjson.bazel" + } + }, + "rules_rust_wasm_bindgen__bumpalo-3.13.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__bumpalo-3.13.0", + "sha256": "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bumpalo/3.13.0/download" + ], + "strip_prefix": "bumpalo-3.13.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.bumpalo-3.13.0.bazel" + } + }, + "cui__pin-project-lite-0.2.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pin-project-lite-0.2.13", + "sha256": "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pin-project-lite/0.2.13/download" + ], + "strip_prefix": "pin-project-lite-0.2.13", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pin-project-lite-0.2.13.bazel" + } + }, + "rules_rust_wasm_bindgen__walrus-0.20.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__walrus-0.20.3", + "sha256": "2c03529cd0c4400a2449f640d2f27cd1b48c3065226d15e26d98e4429ab0adb7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/walrus/0.20.3/download" + ], + "strip_prefix": "walrus-0.20.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.walrus-0.20.3.bazel" + } + }, + "rules_rust_wasm_bindgen__unicode-bidi-0.3.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__unicode-bidi-0.3.13", + "sha256": "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-bidi/0.3.13/download" + ], + "strip_prefix": "unicode-bidi-0.3.13", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.unicode-bidi-0.3.13.bazel" + } + }, + "cui__generic-array-0.14.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__generic-array-0.14.7", + "sha256": "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/generic-array/0.14.7/download" + ], + "strip_prefix": "generic-array-0.14.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.generic-array-0.14.7.bazel" + } + }, + "cross_x86_64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cross_x86_64-unknown-linux-gnu", + "urls": [ + "https://github.com/rust-embedded/cross/releases/download/v0.2.1/cross-v0.2.1-x86_64-unknown-linux-gnu.tar.gz" + ], + "sha256": "06dcce3248488e95fbb368d14bef17fa8e77461d5055fbd5193538574820f413", + "build_file_content": "exports_files(glob([\"**\"]), visibility = [\"//visibility:public\"])" + } + }, + "rules_rust_wasm_bindgen__windows_x86_64_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_x86_64_gnu-0.48.0", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel" + } + }, + "cui__rustix-0.37.23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rustix-0.37.23", + "sha256": "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.37.23/download" + ], + "strip_prefix": "rustix-0.37.23", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rustix-0.37.23.bazel" + } + }, + "rules_rust_wasm_bindgen__ureq-2.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ureq-2.8.0", + "sha256": "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ureq/2.8.0/download" + ], + "strip_prefix": "ureq-2.8.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.ureq-2.8.0.bazel" + } + }, + "cui__parking_lot_core-0.9.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__parking_lot_core-0.9.9", + "sha256": "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/parking_lot_core/0.9.9/download" + ], + "strip_prefix": "parking_lot_core-0.9.9", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.parking_lot_core-0.9.9.bazel" + } + }, + "cui__core-foundation-sys-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__core-foundation-sys-0.8.4", + "sha256": "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/core-foundation-sys/0.8.4/download" + ], + "strip_prefix": "core-foundation-sys-0.8.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.core-foundation-sys-0.8.4.bazel" + } + }, + "cui__fuchsia-cprng-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__fuchsia-cprng-0.1.1", + "sha256": "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fuchsia-cprng/0.1.1/download" + ], + "strip_prefix": "fuchsia-cprng-0.1.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.fuchsia-cprng-0.1.1.bazel" + } + }, + "cui__url-2.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__url-2.4.0", + "sha256": "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/url/2.4.0/download" + ], + "strip_prefix": "url-2.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.url-2.4.0.bazel" + } + }, + "rrra__quote-1.0.29": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__quote-1.0.29", + "sha256": "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.29/download" + ], + "strip_prefix": "quote-1.0.29", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.quote-1.0.29.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91", + "sha256": "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-shared-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-shared-0.2.91.bazel" + } + }, + "rules_rust_wasm_bindgen__httpdate-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__httpdate-1.0.2", + "sha256": "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/httpdate/1.0.2/download" + ], + "strip_prefix": "httpdate-1.0.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.httpdate-1.0.2.bazel" + } + }, + "cui__gix-object-0.37.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-object-0.37.0", + "sha256": "1e7e19616c67967374137bae83e950e9b518a9ea8a605069bd6716ada357fd6f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-object/0.37.0/download" + ], + "strip_prefix": "gix-object-0.37.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-object-0.37.0.bazel" + } + }, + "cui__crossbeam-queue-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-queue-0.3.8", + "sha256": "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-queue/0.3.8/download" + ], + "strip_prefix": "crossbeam-queue-0.3.8", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-queue-0.3.8.bazel" + } + }, + "rules_rust_wasm_bindgen__iana-time-zone-0.1.57": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__iana-time-zone-0.1.57", + "sha256": "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/iana-time-zone/0.1.57/download" + ], + "strip_prefix": "iana-time-zone-0.1.57", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.iana-time-zone-0.1.57.bazel" + } + }, + "cui__ryu-1.0.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__ryu-1.0.14", + "sha256": "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ryu/1.0.14/download" + ], + "strip_prefix": "ryu-1.0.14", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.ryu-1.0.14.bazel" + } + }, + "rules_rust_prost__protoc-gen-prost-0.2.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__protoc-gen-prost-0.2.2", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_rust~0.40.0//proto/prost/private/3rdparty/patches:protoc-gen-prost.patch" + ], + "sha256": "a81e3a9bb429fec47008b209896f0b9ab99fbcbc1c3733b385d43fbfd64dd2ca", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/protoc-gen-prost/0.2.2/download" + ], + "strip_prefix": "protoc-gen-prost-0.2.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.protoc-gen-prost-0.2.2.bazel" + } + }, + "rules_rust_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "cui__deunicode-0.4.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__deunicode-0.4.3", + "sha256": "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/deunicode/0.4.3/download" + ], + "strip_prefix": "deunicode-0.4.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.deunicode-0.4.3.bazel" + } + }, + "rules_rust_bindgen__cfg-if-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__cfg-if-1.0.0", + "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cfg-if/1.0.0/download" + ], + "strip_prefix": "cfg-if-1.0.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel" + } + }, + "rules_rust_prost__protoc-gen-tonic-0.2.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__protoc-gen-tonic-0.2.2", + "sha256": "725a07a704f9cf7a956b302c21d81b5516ed5ee6cfbbf827edb69beeaae6cc30", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/protoc-gen-tonic/0.2.2/download" + ], + "strip_prefix": "protoc-gen-tonic-0.2.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.protoc-gen-tonic-0.2.2.bazel" + } + }, + "cui__iana-time-zone-haiku-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__iana-time-zone-haiku-0.1.2", + "sha256": "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download" + ], + "strip_prefix": "iana-time-zone-haiku-0.1.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.iana-time-zone-haiku-0.1.2.bazel" + } + }, + "cui__windows_x86_64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_x86_64_gnullvm-0.48.0", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__percent-encoding-2.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__percent-encoding-2.3.0", + "sha256": "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/percent-encoding/2.3.0/download" + ], + "strip_prefix": "percent-encoding-2.3.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.percent-encoding-2.3.0.bazel" + } + }, + "cui__fastrand-2.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__fastrand-2.0.1", + "sha256": "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fastrand/2.0.1/download" + ], + "strip_prefix": "fastrand-2.0.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.fastrand-2.0.1.bazel" + } + }, + "cui__wasm-bindgen-macro-0.2.87": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasm-bindgen-macro-0.2.87", + "sha256": "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.87/download" + ], + "strip_prefix": "wasm-bindgen-macro-0.2.87", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasm-bindgen-macro-0.2.87.bazel" + } + }, + "cui__flate2-1.0.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__flate2-1.0.28", + "sha256": "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/flate2/1.0.28/download" + ], + "strip_prefix": "flate2-1.0.28", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.flate2-1.0.28.bazel" + } + }, + "rules_rust_prost__pin-utils-0.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__pin-utils-0.1.0", + "sha256": "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pin-utils/0.1.0/download" + ], + "strip_prefix": "pin-utils-0.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.pin-utils-0.1.0.bazel" + } + }, + "rules_rust_prost__cc-1.0.79": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__cc-1.0.79", + "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.79/download" + ], + "strip_prefix": "cc-1.0.79", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.cc-1.0.79.bazel" + } + }, + "rrra__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-0.3.9.bazel" + } + }, + "cui__gix-hashtable-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-hashtable-0.4.0", + "sha256": "409268480841ad008e81c17ca5a293393fbf9f2b6c2f85b8ab9de1f0c5176a16", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-hashtable/0.4.0/download" + ], + "strip_prefix": "gix-hashtable-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-hashtable-0.4.0.bazel" + } + }, + "rules_rust_bindgen__errno-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__errno-0.3.1", + "sha256": "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno/0.3.1/download" + ], + "strip_prefix": "errno-0.3.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.errno-0.3.1.bazel" + } + }, + "cui__fnv-1.0.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__fnv-1.0.7", + "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fnv/1.0.7/download" + ], + "strip_prefix": "fnv-1.0.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.fnv-1.0.7.bazel" + } + }, + "cui__windows-targets-0.48.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows-targets-0.48.1", + "sha256": "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-targets/0.48.1/download" + ], + "strip_prefix": "windows-targets-0.48.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows-targets-0.48.1.bazel" + } + }, + "cui__js-sys-0.3.64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__js-sys-0.3.64", + "sha256": "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/js-sys/0.3.64/download" + ], + "strip_prefix": "js-sys-0.3.64", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.js-sys-0.3.64.bazel" + } + }, + "rules_rust_toolchain_test_target_json": { + "bzlFile": "@@rules_rust~0.40.0//test/unit/toolchain:toolchain_test_utils.bzl", + "ruleClassName": "rules_rust_toolchain_test_target_json_repository", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_toolchain_test_target_json", + "target_json": "@@rules_rust~0.40.0//test/unit/toolchain:toolchain-test-triple.json" + } + }, + "rules_rust_wasm_bindgen__ppv-lite86-0.2.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ppv-lite86-0.2.17", + "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download" + ], + "strip_prefix": "ppv-lite86-0.2.17", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.ppv-lite86-0.2.17.bazel" + } + }, + "cui__smawk-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__smawk-0.3.1", + "sha256": "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/smawk/0.3.1/download" + ], + "strip_prefix": "smawk-0.3.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.smawk-0.3.1.bazel" + } + }, + "rules_rust_wasm_bindgen__heck-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__heck-0.3.3", + "sha256": "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.3.3/download" + ], + "strip_prefix": "heck-0.3.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.heck-0.3.3.bazel" + } + }, + "rules_rust_wasm_bindgen__unicode-ident-1.0.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__unicode-ident-1.0.10", + "sha256": "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.10/download" + ], + "strip_prefix": "unicode-ident-1.0.10", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.unicode-ident-1.0.10.bazel" + } + }, + "cui__clap_derive-4.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__clap_derive-4.3.2", + "sha256": "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_derive/4.3.2/download" + ], + "strip_prefix": "clap_derive-4.3.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel" + } + }, + "cui__libm-0.2.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__libm-0.2.7", + "sha256": "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libm/0.2.7/download" + ], + "strip_prefix": "libm-0.2.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.libm-0.2.7.bazel" + } + }, + "rules_rust_bindgen__once_cell-1.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__once_cell-1.18.0", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.18.0/download" + ], + "strip_prefix": "once_cell-1.18.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.once_cell-1.18.0.bazel" + } + }, + "rules_rust_prost__prost-0.11.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__prost-0.11.9", + "sha256": "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prost/0.11.9/download" + ], + "strip_prefix": "prost-0.11.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.prost-0.11.9.bazel" + } + }, + "cui__deranged-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__deranged-0.3.9", + "sha256": "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/deranged/0.3.9/download" + ], + "strip_prefix": "deranged-0.3.9", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.deranged-0.3.9.bazel" + } + }, + "rules_rust_prost__rand_core-0.6.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__rand_core-0.6.4", + "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_core/0.6.4/download" + ], + "strip_prefix": "rand_core-0.6.4", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.rand_core-0.6.4.bazel" + } + }, + "cui__gix-negotiate-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-negotiate-0.8.0", + "sha256": "6f1697bf9911c6d1b8d709b9e6ef718cb5ea5821a1b7991520125a8134448004", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-negotiate/0.8.0/download" + ], + "strip_prefix": "gix-negotiate-0.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-negotiate-0.8.0.bazel" + } + }, + "rules_rust_bindgen__bitflags-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__bitflags-1.3.2", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/1.3.2/download" + ], + "strip_prefix": "bitflags-1.3.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.bitflags-1.3.2.bazel" + } + }, + "cui__wasi-0.11.0-wasi-snapshot-preview1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasi-0.11.0-wasi-snapshot-preview1", + "sha256": "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download" + ], + "strip_prefix": "wasi-0.11.0+wasi-snapshot-preview1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel" + } + }, + "rules_rust_bindgen__windows_i686_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_i686_gnu-0.48.0", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download" + ], + "strip_prefix": "windows_i686_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel" + } + }, + "cui__io-lifetimes-1.0.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__io-lifetimes-1.0.11", + "sha256": "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download" + ], + "strip_prefix": "io-lifetimes-1.0.11", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel" + } + }, + "cui__cargo_toml-0.17.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cargo_toml-0.17.1", + "sha256": "4d1ece59890e746567b467253aea0adbe8a21784d0b025d8a306f66c391c2957", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cargo_toml/0.17.1/download" + ], + "strip_prefix": "cargo_toml-0.17.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cargo_toml-0.17.1.bazel" + } + }, + "rules_rust_wasm_bindgen__alloc-no-stdlib-2.0.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__alloc-no-stdlib-2.0.4", + "sha256": "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/alloc-no-stdlib/2.0.4/download" + ], + "strip_prefix": "alloc-no-stdlib-2.0.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.alloc-no-stdlib-2.0.4.bazel" + } + }, + "rules_rust_wasm_bindgen__env_logger-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__env_logger-0.8.4", + "sha256": "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/env_logger/0.8.4/download" + ], + "strip_prefix": "env_logger-0.8.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.env_logger-0.8.4.bazel" + } + }, + "cui__smol_str-0.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__smol_str-0.2.0", + "sha256": "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/smol_str/0.2.0/download" + ], + "strip_prefix": "smol_str-0.2.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.smol_str-0.2.0.bazel" + } + }, + "rules_rust_prost__proc-macro2-1.0.60": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__proc-macro2-1.0.60", + "sha256": "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.60/download" + ], + "strip_prefix": "proc-macro2-1.0.60", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.proc-macro2-1.0.60.bazel" + } + }, + "cui__memoffset-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__memoffset-0.9.0", + "sha256": "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memoffset/0.9.0/download" + ], + "strip_prefix": "memoffset-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.memoffset-0.9.0.bazel" + } + }, + "rules_rust_bindgen__clap_complete-4.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clap_complete-4.3.1", + "sha256": "7f6b5c519bab3ea61843a7923d074b04245624bb84a64a8c150f5deb014e388b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_complete/4.3.1/download" + ], + "strip_prefix": "clap_complete-4.3.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clap_complete-4.3.1.bazel" + } + }, + "rules_rust_wasm_bindgen__time-core-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__time-core-0.1.1", + "sha256": "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/time-core/0.1.1/download" + ], + "strip_prefix": "time-core-0.1.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.time-core-0.1.1.bazel" + } + }, + "cui__log-0.4.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__log-0.4.19", + "sha256": "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/log/0.4.19/download" + ], + "strip_prefix": "log-0.4.19", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.log-0.4.19.bazel" + } + }, + "cui__num-0.1.42": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-0.1.42", + "sha256": "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num/0.1.42/download" + ], + "strip_prefix": "num-0.1.42", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-0.1.42.bazel" + } + }, + "rules_rust_wasm_bindgen__tiny_http-0.12.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__tiny_http-0.12.0", + "sha256": "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tiny_http/0.12.0/download" + ], + "strip_prefix": "tiny_http-0.12.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.tiny_http-0.12.0.bazel" + } + }, + "rules_rust_bindgen__windows-sys-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows-sys-0.48.0", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-sys/0.48.0/download" + ], + "strip_prefix": "windows-sys-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel" + } + }, + "cui__wasm-bindgen-backend-0.2.87": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasm-bindgen-backend-0.2.87", + "sha256": "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.87/download" + ], + "strip_prefix": "wasm-bindgen-backend-0.2.87", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasm-bindgen-backend-0.2.87.bazel" + } + }, + "cui__pest-2.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pest-2.7.0", + "sha256": "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pest/2.7.0/download" + ], + "strip_prefix": "pest-2.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pest-2.7.0.bazel" + } + }, + "rules_rust_wasm_bindgen__docopt-1.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__docopt-1.1.1", + "sha256": "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/docopt/1.1.1/download" + ], + "strip_prefix": "docopt-1.1.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.docopt-1.1.1.bazel" + } + }, + "rules_rust_bindgen__libc-0.2.146": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__libc-0.2.146", + "sha256": "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libc/0.2.146/download" + ], + "strip_prefix": "libc-0.2.146", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.libc-0.2.146.bazel" + } + }, + "rules_rust_wasm_bindgen__rustc-demangle-0.1.23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rustc-demangle-0.1.23", + "sha256": "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustc-demangle/0.1.23/download" + ], + "strip_prefix": "rustc-demangle-0.1.23", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rustc-demangle-0.1.23.bazel" + } + }, + "rules_rust_prost__rand_chacha-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__rand_chacha-0.3.1", + "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_chacha/0.3.1/download" + ], + "strip_prefix": "rand_chacha-0.3.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.rand_chacha-0.3.1.bazel" + } + }, + "rules_rust_wasm_bindgen__iana-time-zone-haiku-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__iana-time-zone-haiku-0.1.2", + "sha256": "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download" + ], + "strip_prefix": "iana-time-zone-haiku-0.1.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.iana-time-zone-haiku-0.1.2.bazel" + } + }, + "cui__syn-1.0.109": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__syn-1.0.109", + "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/1.0.109/download" + ], + "strip_prefix": "syn-1.0.109", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.syn-1.0.109.bazel" + } + }, + "rrra__memchr-2.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__memchr-2.5.0", + "sha256": "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memchr/2.5.0/download" + ], + "strip_prefix": "memchr-2.5.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.memchr-2.5.0.bazel" + } + }, + "cui__getrandom-0.2.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__getrandom-0.2.10", + "sha256": "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/getrandom/0.2.10/download" + ], + "strip_prefix": "getrandom-0.2.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.getrandom-0.2.10.bazel" + } + }, + "cui__pathdiff-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pathdiff-0.2.1", + "sha256": "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pathdiff/0.2.1/download" + ], + "strip_prefix": "pathdiff-0.2.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pathdiff-0.2.1.bazel" + } + }, + "rules_rust_prost__bitflags-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__bitflags-1.3.2", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/1.3.2/download" + ], + "strip_prefix": "bitflags-1.3.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.bitflags-1.3.2.bazel" + } + }, + "cargo_bazel.buildifier-linux-amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_rust~0.40.0~i~cargo_bazel.buildifier-linux-amd64", + "urls": [ + "https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier-linux-amd64" + ], + "sha256": "3ed7358c7c6a1ca216dc566e9054fd0b97a1482cb0b7e61092be887d42615c5d", + "downloaded_file_path": "buildifier.exe", + "executable": true + } + }, + "rules_rust_wasm_bindgen__either-1.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__either-1.8.1", + "sha256": "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/either/1.8.1/download" + ], + "strip_prefix": "either-1.8.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.either-1.8.1.bazel" + } + }, + "cui__sha1_smol-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__sha1_smol-1.0.0", + "sha256": "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sha1_smol/1.0.0/download" + ], + "strip_prefix": "sha1_smol-1.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.sha1_smol-1.0.0.bazel" + } + }, + "rules_rust_prost__windows_aarch64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_aarch64_msvc-0.48.0", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__crc32fast-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__crc32fast-1.3.2", + "sha256": "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crc32fast/1.3.2/download" + ], + "strip_prefix": "crc32fast-1.3.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.crc32fast-1.3.2.bazel" + } + }, + "cargo_bazel.buildifier-darwin-amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_rust~0.40.0~i~cargo_bazel.buildifier-darwin-amd64", + "urls": [ + "https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier-darwin-amd64" + ], + "sha256": "2cb0a54683633ef6de4e0491072e22e66ac9c6389051432b76200deeeeaf93fb", + "downloaded_file_path": "buildifier.exe", + "executable": true + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-backend-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-backend-0.2.91", + "sha256": "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-backend-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-backend-0.2.91.bazel" + } + }, + "cui__chrono-0.4.26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__chrono-0.4.26", + "sha256": "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/chrono/0.4.26/download" + ], + "strip_prefix": "chrono-0.4.26", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.chrono-0.4.26.bazel" + } + }, + "rules_rust_bindgen__proc-macro2-1.0.60": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__proc-macro2-1.0.60", + "sha256": "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.60/download" + ], + "strip_prefix": "proc-macro2-1.0.60", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.proc-macro2-1.0.60.bazel" + } + }, + "rrra__windows_i686_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_i686_msvc-0.48.0", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download" + ], + "strip_prefix": "windows_i686_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel" + } + }, + "cui__encoding_rs-0.8.33": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__encoding_rs-0.8.33", + "sha256": "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/encoding_rs/0.8.33/download" + ], + "strip_prefix": "encoding_rs-0.8.33", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.encoding_rs-0.8.33.bazel" + } + }, + "rules_rust_prost__windows_i686_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_i686_msvc-0.48.0", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download" + ], + "strip_prefix": "windows_i686_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel" + } + }, + "cui__overload-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__overload-0.1.1", + "sha256": "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/overload/0.1.1/download" + ], + "strip_prefix": "overload-0.1.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.overload-0.1.1.bazel" + } + }, + "rules_rust_prost__want-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__want-0.3.1", + "sha256": "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/want/0.3.1/download" + ], + "strip_prefix": "want-0.3.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.want-0.3.1.bazel" + } + }, + "rules_rust_bindgen__clap_derive-4.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clap_derive-4.3.2", + "sha256": "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_derive/4.3.2/download" + ], + "strip_prefix": "clap_derive-4.3.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel" + } + }, + "cui__anstream-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anstream-0.3.2", + "sha256": "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstream/0.3.2/download" + ], + "strip_prefix": "anstream-0.3.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anstream-0.3.2.bazel" + } + }, + "cui__bitflags-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__bitflags-1.3.2", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/1.3.2/download" + ], + "strip_prefix": "bitflags-1.3.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.bitflags-1.3.2.bazel" + } + }, + "rules_rust_prost__smallvec-1.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__smallvec-1.10.0", + "sha256": "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/smallvec/1.10.0/download" + ], + "strip_prefix": "smallvec-1.10.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.smallvec-1.10.0.bazel" + } + }, + "cui__gix-glob-0.13.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-glob-0.13.0", + "sha256": "a9d76e85f11251dcf751d2c5e918a14f562db5be6f727fd24775245653e9b19d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-glob/0.13.0/download" + ], + "strip_prefix": "gix-glob-0.13.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-glob-0.13.0.bazel" + } + }, + "cui__itoa-1.0.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__itoa-1.0.8", + "sha256": "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itoa/1.0.8/download" + ], + "strip_prefix": "itoa-1.0.8", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.itoa-1.0.8.bazel" + } + }, + "rules_rust_prost__windows_x86_64_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_x86_64_gnu-0.48.0", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel" + } + }, + "cui__serde_json-1.0.108": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__serde_json-1.0.108", + "sha256": "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_json/1.0.108/download" + ], + "strip_prefix": "serde_json-1.0.108", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.serde_json-1.0.108.bazel" + } + }, + "rules_rust_wasm_bindgen__atty-0.2.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__atty-0.2.14", + "sha256": "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/atty/0.2.14/download" + ], + "strip_prefix": "atty-0.2.14", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.atty-0.2.14.bazel" + } + }, + "rules_rust_bindgen__log-0.4.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__log-0.4.19", + "sha256": "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/log/0.4.19/download" + ], + "strip_prefix": "log-0.4.19", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.log-0.4.19.bazel" + } + }, + "cui__walkdir-2.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__walkdir-2.3.3", + "sha256": "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/walkdir/2.3.3/download" + ], + "strip_prefix": "walkdir-2.3.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.walkdir-2.3.3.bazel" + } + }, + "rrra__aho-corasick-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__aho-corasick-1.0.2", + "sha256": "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/aho-corasick/1.0.2/download" + ], + "strip_prefix": "aho-corasick-1.0.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel" + } + }, + "rules_rust_wasm_bindgen__rustls-0.21.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rustls-0.21.8", + "sha256": "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustls/0.21.8/download" + ], + "strip_prefix": "rustls-0.21.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rustls-0.21.8.bazel" + } + }, + "cui__gix-refspec-0.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-refspec-0.18.0", + "sha256": "0895cb7b1e70f3c3bd4550c329e9f5caf2975f97fcd4238e05754e72208ef61e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-refspec/0.18.0/download" + ], + "strip_prefix": "gix-refspec-0.18.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-refspec-0.18.0.bazel" + } + }, + "cui__semver-1.0.20": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__semver-1.0.20", + "sha256": "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/semver/1.0.20/download" + ], + "strip_prefix": "semver-1.0.20", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.semver-1.0.20.bazel" + } + }, + "rules_rust_bindgen__humantime-2.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__humantime-2.1.0", + "sha256": "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/humantime/2.1.0/download" + ], + "strip_prefix": "humantime-2.1.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.humantime-2.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__termcolor-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__termcolor-1.2.0", + "sha256": "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/termcolor/1.2.0/download" + ], + "strip_prefix": "termcolor-1.2.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.termcolor-1.2.0.bazel" + } + }, + "rules_rust_bindgen__bitflags-2.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__bitflags-2.4.1", + "sha256": "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/2.4.1/download" + ], + "strip_prefix": "bitflags-2.4.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.bitflags-2.4.1.bazel" + } + }, + "rrra__regex-syntax-0.7.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__regex-syntax-0.7.4", + "sha256": "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-syntax/0.7.4/download" + ], + "strip_prefix": "regex-syntax-0.7.4", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.regex-syntax-0.7.4.bazel" + } + }, + "rules_rust_wasm_bindgen__hermit-abi-0.1.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__hermit-abi-0.1.19", + "sha256": "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.1.19/download" + ], + "strip_prefix": "hermit-abi-0.1.19", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.hermit-abi-0.1.19.bazel" + } + }, + "rules_rust_prost__autocfg-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__autocfg-1.1.0", + "sha256": "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/autocfg/1.1.0/download" + ], + "strip_prefix": "autocfg-1.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.autocfg-1.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__sct-0.7.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__sct-0.7.1", + "sha256": "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sct/0.7.1/download" + ], + "strip_prefix": "sct-0.7.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.sct-0.7.1.bazel" + } + }, + "rrra__winapi-util-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__winapi-util-0.1.5", + "sha256": "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-util/0.1.5/download" + ], + "strip_prefix": "winapi-util-0.1.5", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel" + } + }, + "cui__bstr-1.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__bstr-1.6.0", + "sha256": "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bstr/1.6.0/download" + ], + "strip_prefix": "bstr-1.6.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.bstr-1.6.0.bazel" + } + }, + "cui__gix-diff-0.36.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-diff-0.36.0", + "sha256": "788ddb152c388206e81f36bcbb574e7ed7827c27d8fa62227b34edc333d8928c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-diff/0.36.0/download" + ], + "strip_prefix": "gix-diff-0.36.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-diff-0.36.0.bazel" + } + }, + "rules_rust_wasm_bindgen__strsim-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__strsim-0.10.0", + "sha256": "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/strsim/0.10.0/download" + ], + "strip_prefix": "strsim-0.10.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.strsim-0.10.0.bazel" + } + }, + "rules_rust_wasm_bindgen__untrusted-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__untrusted-0.9.0", + "sha256": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/untrusted/0.9.0/download" + ], + "strip_prefix": "untrusted-0.9.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.untrusted-0.9.0.bazel" + } + }, + "cui__gix-index-0.25.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-index-0.25.0", + "sha256": "f54d63a9d13c13088f41f5a3accbec284e492ac8f4f707fcc307c139622e17b7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-index/0.25.0/download" + ], + "strip_prefix": "gix-index-0.25.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-index-0.25.0.bazel" + } + }, + "rules_rust_prost__windows_i686_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_i686_gnu-0.48.0", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download" + ], + "strip_prefix": "windows_i686_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel" + } + }, + "cui__filetime-0.2.22": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__filetime-0.2.22", + "sha256": "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/filetime/0.2.22/download" + ], + "strip_prefix": "filetime-0.2.22", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.filetime-0.2.22.bazel" + } + }, + "cui__tracing-log-0.1.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tracing-log-0.1.4", + "sha256": "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-log/0.1.4/download" + ], + "strip_prefix": "tracing-log-0.1.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tracing-log-0.1.4.bazel" + } + }, + "rules_rust_wasm_bindgen__crossbeam-epoch-0.9.15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__crossbeam-epoch-0.9.15", + "sha256": "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-epoch/0.9.15/download" + ], + "strip_prefix": "crossbeam-epoch-0.9.15", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-epoch-0.9.15.bazel" + } + }, + "rrra__termcolor-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__termcolor-1.2.0", + "sha256": "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/termcolor/1.2.0/download" + ], + "strip_prefix": "termcolor-1.2.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.termcolor-1.2.0.bazel" + } + }, + "rules_rust_wasm_bindgen__errno-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__errno-0.3.1", + "sha256": "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno/0.3.1/download" + ], + "strip_prefix": "errno-0.3.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.errno-0.3.1.bazel" + } + }, + "cui__rustix-0.38.21": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rustix-0.38.21", + "sha256": "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.38.21/download" + ], + "strip_prefix": "rustix-0.38.21", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rustix-0.38.21.bazel" + } + }, + "rules_rust_bindgen__unicode-width-0.1.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__unicode-width-0.1.10", + "sha256": "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-width/0.1.10/download" + ], + "strip_prefix": "unicode-width-0.1.10", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.unicode-width-0.1.10.bazel" + } + }, + "cui__indoc-2.0.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__indoc-2.0.4", + "sha256": "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/indoc/2.0.4/download" + ], + "strip_prefix": "indoc-2.0.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.indoc-2.0.4.bazel" + } + }, + "cui__unicode-bom-2.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-bom-2.0.2", + "sha256": "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-bom/2.0.2/download" + ], + "strip_prefix": "unicode-bom-2.0.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-bom-2.0.2.bazel" + } + }, + "rules_rust_wasm_bindgen__crossbeam-deque-0.8.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__crossbeam-deque-0.8.3", + "sha256": "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-deque/0.8.3/download" + ], + "strip_prefix": "crossbeam-deque-0.8.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-deque-0.8.3.bazel" + } + }, + "cui__smallvec-1.11.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__smallvec-1.11.0", + "sha256": "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/smallvec/1.11.0/download" + ], + "strip_prefix": "smallvec-1.11.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.smallvec-1.11.0.bazel" + } + }, + "rules_rust_wasm_bindgen__redox_syscall-0.3.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__redox_syscall-0.3.5", + "sha256": "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/redox_syscall/0.3.5/download" + ], + "strip_prefix": "redox_syscall-0.3.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.redox_syscall-0.3.5.bazel" + } + }, + "cui__ignore-0.4.18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__ignore-0.4.18", + "sha256": "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ignore/0.4.18/download" + ], + "strip_prefix": "ignore-0.4.18", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.ignore-0.4.18.bazel" + } + }, + "rules_rust_wasm_bindgen__wasi-0.11.0-wasi-snapshot-preview1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasi-0.11.0-wasi-snapshot-preview1", + "sha256": "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download" + ], + "strip_prefix": "wasi-0.11.0+wasi-snapshot-preview1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel" + } + }, + "cui__textwrap-0.16.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__textwrap-0.16.0", + "sha256": "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/textwrap/0.16.0/download" + ], + "strip_prefix": "textwrap-0.16.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.textwrap-0.16.0.bazel" + } + }, + "rules_rust_bindgen__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.91", + "sha256": "4e6b653f6820409609bda0f176e6949302307af7a7b9479cd4d4b1bdc31eb9cd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-wasm-conventions/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-wasm-conventions-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-wasm-conventions-0.2.91.bazel" + } + }, + "rrra__colorchoice-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__colorchoice-1.0.0", + "sha256": "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/colorchoice/1.0.0/download" + ], + "strip_prefix": "colorchoice-1.0.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel" + } + }, + "rules_rust_wasm_bindgen__regex-1.9.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__regex-1.9.1", + "sha256": "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex/1.9.1/download" + ], + "strip_prefix": "regex-1.9.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.regex-1.9.1.bazel" + } + }, + "rrra__windows_x86_64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_x86_64_gnullvm-0.48.0", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__slab-0.4.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__slab-0.4.8", + "sha256": "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/slab/0.4.8/download" + ], + "strip_prefix": "slab-0.4.8", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.slab-0.4.8.bazel" + } + }, + "rrra__clap-4.3.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__clap-4.3.11", + "sha256": "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap/4.3.11/download" + ], + "strip_prefix": "clap-4.3.11", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.clap-4.3.11.bazel" + } + }, + "cui__valuable-0.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__valuable-0.1.0", + "sha256": "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/valuable/0.1.0/download" + ], + "strip_prefix": "valuable-0.1.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.valuable-0.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__form_urlencoded-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__form_urlencoded-1.2.0", + "sha256": "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/form_urlencoded/1.2.0/download" + ], + "strip_prefix": "form_urlencoded-1.2.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.form_urlencoded-1.2.0.bazel" + } + }, + "rules_rust_prost__prost-derive-0.11.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__prost-derive-0.11.9", + "sha256": "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prost-derive/0.11.9/download" + ], + "strip_prefix": "prost-derive-0.11.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.prost-derive-0.11.9.bazel" + } + }, + "cui__adler-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__adler-1.0.2", + "sha256": "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/adler/1.0.2/download" + ], + "strip_prefix": "adler-1.0.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.adler-1.0.2.bazel" + } + }, + "cui__wasm-bindgen-shared-0.2.87": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasm-bindgen-shared-0.2.87", + "sha256": "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.87/download" + ], + "strip_prefix": "wasm-bindgen-shared-0.2.87", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasm-bindgen-shared-0.2.87.bazel" + } + }, + "cross_x86_64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cross_x86_64-apple-darwin", + "urls": [ + "https://github.com/rust-embedded/cross/releases/download/v0.2.1/cross-v0.2.1-x86_64-apple-darwin.tar.gz" + ], + "sha256": "589da89453291dc26f0b10b521cdadb98376d495645b210574bd9ca4ec8cfa2c", + "build_file_content": "exports_files(glob([\"**\"]), visibility = [\"//visibility:public\"])" + } + }, + "rules_rust_prost__rustix-0.37.20": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__rustix-0.37.20", + "sha256": "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.37.20/download" + ], + "strip_prefix": "rustix-0.37.20", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.rustix-0.37.20.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-macro-support-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-macro-support-0.2.91", + "sha256": "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-macro-support-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-macro-support-0.2.91.bazel" + } + }, + "rules_rust_prost__fnv-1.0.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__fnv-1.0.7", + "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fnv/1.0.7/download" + ], + "strip_prefix": "fnv-1.0.7", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.fnv-1.0.7.bazel" + } + }, + "cui__spectral-0.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__spectral-0.6.0", + "sha256": "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/spectral/0.6.0/download" + ], + "strip_prefix": "spectral-0.6.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.spectral-0.6.0.bazel" + } + }, + "cui__windows_i686_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_i686_msvc-0.48.0", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download" + ], + "strip_prefix": "windows_i686_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__float-cmp-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__float-cmp-0.8.0", + "sha256": "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/float-cmp/0.8.0/download" + ], + "strip_prefix": "float-cmp-0.8.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.float-cmp-0.8.0.bazel" + } + }, + "cui__gix-tempfile-10.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-tempfile-10.0.0", + "sha256": "5ae0978f3e11dc57290ee75ac2477c815bca1ce2fa7ed5dc5f16db067410ac4d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-tempfile/10.0.0/download" + ], + "strip_prefix": "gix-tempfile-10.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-tempfile-10.0.0.bazel" + } + }, + "cui__jwalk-0.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__jwalk-0.8.1", + "sha256": "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/jwalk/0.8.1/download" + ], + "strip_prefix": "jwalk-0.8.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.jwalk-0.8.1.bazel" + } + }, + "rules_rust_prost__getrandom-0.2.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__getrandom-0.2.10", + "sha256": "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/getrandom/0.2.10/download" + ], + "strip_prefix": "getrandom-0.2.10", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.getrandom-0.2.10.bazel" + } + }, + "rules_rust_wasm_bindgen__redox_syscall-0.2.16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__redox_syscall-0.2.16", + "sha256": "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/redox_syscall/0.2.16/download" + ], + "strip_prefix": "redox_syscall-0.2.16", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.redox_syscall-0.2.16.bazel" + } + }, + "rules_rust_prost__httpdate-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__httpdate-1.0.2", + "sha256": "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/httpdate/1.0.2/download" + ], + "strip_prefix": "httpdate-1.0.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.httpdate-1.0.2.bazel" + } + }, + "rules_rust_prost__tower-layer-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tower-layer-0.3.2", + "sha256": "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tower-layer/0.3.2/download" + ], + "strip_prefix": "tower-layer-0.3.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tower-layer-0.3.2.bazel" + } + }, + "cui__cfg-expr-0.15.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cfg-expr-0.15.5", + "sha256": "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cfg-expr/0.15.5/download" + ], + "strip_prefix": "cfg-expr-0.15.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cfg-expr-0.15.5.bazel" + } + }, + "cargo_bazel.buildifier-darwin-arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_rust~0.40.0~i~cargo_bazel.buildifier-darwin-arm64", + "urls": [ + "https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier-darwin-arm64" + ], + "sha256": "4da23315f0dccabf878c8227fddbccf35545b23b3cb6225bfcf3107689cc4364", + "downloaded_file_path": "buildifier.exe", + "executable": true + } + }, + "cui__prodash-26.2.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__prodash-26.2.2", + "sha256": "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prodash/26.2.2/download" + ], + "strip_prefix": "prodash-26.2.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.prodash-26.2.2.bazel" + } + }, + "cui__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "rules_rust_prost__num_cpus-1.15.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__num_cpus-1.15.0", + "sha256": "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num_cpus/1.15.0/download" + ], + "strip_prefix": "num_cpus-1.15.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.num_cpus-1.15.0.bazel" + } + }, + "rules_rust_bindgen__lazycell-1.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__lazycell-1.3.0", + "sha256": "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lazycell/1.3.0/download" + ], + "strip_prefix": "lazycell-1.3.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.lazycell-1.3.0.bazel" + } + }, + "cui__tracing-subscriber-0.3.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tracing-subscriber-0.3.17", + "sha256": "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-subscriber/0.3.17/download" + ], + "strip_prefix": "tracing-subscriber-0.3.17", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tracing-subscriber-0.3.17.bazel" + } + }, + "cui__gix-0.54.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-0.54.1", + "sha256": "ad6d32e74454459690d57d18ea4ebec1629936e6b130b51d12cb4a81630ac953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix/0.54.1/download" + ], + "strip_prefix": "gix-0.54.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-0.54.1.bazel" + } + }, + "cui__gix-command-0.2.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-command-0.2.10", + "sha256": "3c576cfbf577f72c097b5f88aedea502cd62952bdc1fb3adcab4531d5525a4c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-command/0.2.10/download" + ], + "strip_prefix": "gix-command-0.2.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-command-0.2.10.bazel" + } + }, + "rules_rust_prost__bytes-1.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__bytes-1.4.0", + "sha256": "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bytes/1.4.0/download" + ], + "strip_prefix": "bytes-1.4.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.bytes-1.4.0.bazel" + } + }, + "rules_rust_wasm_bindgen__mime_guess-2.0.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__mime_guess-2.0.4", + "sha256": "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/mime_guess/2.0.4/download" + ], + "strip_prefix": "mime_guess-2.0.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.mime_guess-2.0.4.bazel" + } + }, + "rules_rust_wasm_bindgen__tinyvec_macros-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__tinyvec_macros-0.1.1", + "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download" + ], + "strip_prefix": "tinyvec_macros-0.1.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.tinyvec_macros-0.1.1.bazel" + } + }, + "cui__gix-odb-0.53.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-odb-0.53.0", + "sha256": "8d6a392c6ba3a2f133cdc63120e9bc7aec81eef763db372c817de31febfe64bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-odb/0.53.0/download" + ], + "strip_prefix": "gix-odb-0.53.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-odb-0.53.0.bazel" + } + }, + "rules_rust_bindgen__rustix-0.37.20": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__rustix-0.37.20", + "sha256": "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.37.20/download" + ], + "strip_prefix": "rustix-0.37.20", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.rustix-0.37.20.bazel" + } + }, + "rules_rust_bindgen__windows_i686_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_i686_msvc-0.48.0", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download" + ], + "strip_prefix": "windows_i686_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel" + } + }, + "rules_rust_bindgen__clap_builder-4.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clap_builder-4.3.3", + "sha256": "acd4f3c17c83b0ba34ffbc4f8bbd74f079413f747f84a6f89292f138057e36ab", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_builder/4.3.3/download" + ], + "strip_prefix": "clap_builder-4.3.3", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clap_builder-4.3.3.bazel" + } + }, + "rules_rust_wasm_bindgen_cli": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen_cli", + "sha256": "80b674e1bda34888e132276ba600676cea158bdcd289bb7da5c25885f1a3a535", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-cli/0.2.91/download" + ], + "type": "tar.gz", + "strip_prefix": "wasm-bindgen-cli-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty:BUILD.wasm-bindgen-cli.bazel", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/patches:resolver.patch" + ] + } + }, + "rules_rust_wasm_bindgen__wasm-encoder-0.29.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-encoder-0.29.0", + "sha256": "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-encoder/0.29.0/download" + ], + "strip_prefix": "wasm-encoder-0.29.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-encoder-0.29.0.bazel" + } + }, + "cui__regex-syntax-0.8.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__regex-syntax-0.8.2", + "sha256": "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-syntax/0.8.2/download" + ], + "strip_prefix": "regex-syntax-0.8.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.regex-syntax-0.8.2.bazel" + } + }, + "rules_rust_bindgen__clap_lex-0.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clap_lex-0.5.0", + "sha256": "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_lex/0.5.0/download" + ], + "strip_prefix": "clap_lex-0.5.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel" + } + }, + "rules_rust_prost__http-body-0.4.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__http-body-0.4.5", + "sha256": "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/http-body/0.4.5/download" + ], + "strip_prefix": "http-body-0.4.5", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.http-body-0.4.5.bazel" + } + }, + "rules_rust_bindgen__utf8parse-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__utf8parse-0.2.1", + "sha256": "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/utf8parse/0.2.1/download" + ], + "strip_prefix": "utf8parse-0.2.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_x86_64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_x86_64_gnullvm-0.48.0", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__fixedbitset-0.4.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__fixedbitset-0.4.2", + "sha256": "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fixedbitset/0.4.2/download" + ], + "strip_prefix": "fixedbitset-0.4.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.fixedbitset-0.4.2.bazel" + } + }, + "rules_rust_bindgen__annotate-snippets-0.9.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__annotate-snippets-0.9.1", + "sha256": "c3b9d411ecbaf79885c6df4d75fff75858d5995ff25385657a28af47e82f9c36", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/annotate-snippets/0.9.1/download" + ], + "strip_prefix": "annotate-snippets-0.9.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.annotate-snippets-0.9.1.bazel" + } + }, + "rules_rust_wasm_bindgen__httparse-1.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__httparse-1.8.0", + "sha256": "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/httparse/1.8.0/download" + ], + "strip_prefix": "httparse-1.8.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.httparse-1.8.0.bazel" + } + }, + "cui__powerfmt-0.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__powerfmt-0.2.0", + "sha256": "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/powerfmt/0.2.0/download" + ], + "strip_prefix": "powerfmt-0.2.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.powerfmt-0.2.0.bazel" + } + }, + "rrra__strsim-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__strsim-0.10.0", + "sha256": "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/strsim/0.10.0/download" + ], + "strip_prefix": "strsim-0.10.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.strsim-0.10.0.bazel" + } + }, + "rrra__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "rules_rust_prost__tonic-0.9.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tonic-0.9.2", + "sha256": "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tonic/0.9.2/download" + ], + "strip_prefix": "tonic-0.9.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tonic-0.9.2.bazel" + } + }, + "rules_rust_prost__regex-1.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__regex-1.8.4", + "sha256": "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex/1.8.4/download" + ], + "strip_prefix": "regex-1.8.4", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.regex-1.8.4.bazel" + } + }, + "rules_rust_prost__async-trait-0.1.68": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__async-trait-0.1.68", + "sha256": "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/async-trait/0.1.68/download" + ], + "strip_prefix": "async-trait-0.1.68", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.async-trait-0.1.68.bazel" + } + }, + "rules_rust_wasm_bindgen__brotli-decompressor-2.5.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__brotli-decompressor-2.5.1", + "sha256": "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/brotli-decompressor/2.5.1/download" + ], + "strip_prefix": "brotli-decompressor-2.5.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.brotli-decompressor-2.5.1.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_x86_64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_x86_64_msvc-0.48.0", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel" + } + }, + "cui__unicode-normalization-0.1.22": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-normalization-0.1.22", + "sha256": "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download" + ], + "strip_prefix": "unicode-normalization-0.1.22", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-normalization-0.1.22.bazel" + } + }, + "rules_rust_prost__windows_x86_64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_x86_64_msvc-0.48.0", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel" + } + }, + "cui__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.winapi-0.3.9.bazel" + } + }, + "cui__syn-2.0.32": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__syn-2.0.32", + "sha256": "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.32/download" + ], + "strip_prefix": "syn-2.0.32", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.syn-2.0.32.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-externref-xform-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-externref-xform-0.2.91", + "sha256": "12b6ac5fca1d0992d2328147488169ea166bfe899c88f8ad06cf583f4c492fcf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-externref-xform/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-externref-xform-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-externref-xform-0.2.91.bazel" + } + }, + "rules_rust_wasm_bindgen__idna-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__idna-0.4.0", + "sha256": "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/idna/0.4.0/download" + ], + "strip_prefix": "idna-0.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.idna-0.4.0.bazel" + } + }, + "rrra__regex-1.9.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__regex-1.9.1", + "sha256": "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex/1.9.1/download" + ], + "strip_prefix": "regex-1.9.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.regex-1.9.1.bazel" + } + }, + "cui__anstyle-parse-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anstyle-parse-0.2.1", + "sha256": "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-parse/0.2.1/download" + ], + "strip_prefix": "anstyle-parse-0.2.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anstyle-parse-0.2.1.bazel" + } + }, + "rules_rust_prost__rustversion-1.0.12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__rustversion-1.0.12", + "sha256": "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustversion/1.0.12/download" + ], + "strip_prefix": "rustversion-1.0.12", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.rustversion-1.0.12.bazel" + } + }, + "rules_rust_wasm_bindgen__wait-timeout-0.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wait-timeout-0.2.0", + "sha256": "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wait-timeout/0.2.0/download" + ], + "strip_prefix": "wait-timeout-0.2.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wait-timeout-0.2.0.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_aarch64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_aarch64_gnullvm-0.48.0", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__quick-error-1.2.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__quick-error-1.2.3", + "sha256": "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quick-error/1.2.3/download" + ], + "strip_prefix": "quick-error-1.2.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.quick-error-1.2.3.bazel" + } + }, + "rules_rust_prost__tokio-macros-2.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tokio-macros-2.1.0", + "sha256": "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tokio-macros/2.1.0/download" + ], + "strip_prefix": "tokio-macros-2.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tokio-macros-2.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__wasmprinter-0.2.60": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmprinter-0.2.60", + "sha256": "b76cb909fe3d9b0de58cee1f4072247e680ff5cc1558ccad2790a9de14a23993", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasmprinter/0.2.60/download" + ], + "strip_prefix": "wasmprinter-0.2.60", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasmprinter-0.2.60.bazel" + } + }, + "rules_rust_bindgen__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.winapi-0.3.9.bazel" + } + }, + "cui__gix-macros-0.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-macros-0.1.0", + "sha256": "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-macros/0.1.0/download" + ], + "strip_prefix": "gix-macros-0.1.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-macros-0.1.0.bazel" + } + }, + "rrra__ryu-1.0.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__ryu-1.0.14", + "sha256": "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ryu/1.0.14/download" + ], + "strip_prefix": "ryu-1.0.14", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.ryu-1.0.14.bazel" + } + }, + "rrra__serde-1.0.171": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__serde-1.0.171", + "sha256": "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde/1.0.171/download" + ], + "strip_prefix": "serde-1.0.171", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.serde-1.0.171.bazel" + } + }, + "rules_rust_wasm_bindgen__core-foundation-sys-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__core-foundation-sys-0.8.4", + "sha256": "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/core-foundation-sys/0.8.4/download" + ], + "strip_prefix": "core-foundation-sys-0.8.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.core-foundation-sys-0.8.4.bazel" + } + }, + "rules_rust_prost__lock_api-0.4.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__lock_api-0.4.10", + "sha256": "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lock_api/0.4.10/download" + ], + "strip_prefix": "lock_api-0.4.10", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.lock_api-0.4.10.bazel" + } + }, + "rules_rust_prost__futures-core-0.3.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__futures-core-0.3.28", + "sha256": "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/futures-core/0.3.28/download" + ], + "strip_prefix": "futures-core-0.3.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.futures-core-0.3.28.bazel" + } + }, + "rrra__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "rrra__anstyle-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anstyle-1.0.1", + "sha256": "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle/1.0.1/download" + ], + "strip_prefix": "anstyle-1.0.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-1.0.1.bazel" + } + }, + "cui__dunce-1.0.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__dunce-1.0.4", + "sha256": "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/dunce/1.0.4/download" + ], + "strip_prefix": "dunce-1.0.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.dunce-1.0.4.bazel" + } + }, + "rules_rust_bindgen__glob-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__glob-0.3.1", + "sha256": "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/glob/0.3.1/download" + ], + "strip_prefix": "glob-0.3.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.glob-0.3.1.bazel" + } + }, + "cui__phf_generator-0.11.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__phf_generator-0.11.2", + "sha256": "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/phf_generator/0.11.2/download" + ], + "strip_prefix": "phf_generator-0.11.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.phf_generator-0.11.2.bazel" + } + }, + "rules_rust_prost__fastrand-1.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__fastrand-1.9.0", + "sha256": "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fastrand/1.9.0/download" + ], + "strip_prefix": "fastrand-1.9.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.fastrand-1.9.0.bazel" + } + }, + "rules_rust_prost__itertools-0.10.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__itertools-0.10.5", + "sha256": "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itertools/0.10.5/download" + ], + "strip_prefix": "itertools-0.10.5", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.itertools-0.10.5.bazel" + } + }, + "rules_rust_bindgen__windows_x86_64_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_x86_64_gnu-0.48.0", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__memoffset-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__memoffset-0.9.0", + "sha256": "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memoffset/0.9.0/download" + ], + "strip_prefix": "memoffset-0.9.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.memoffset-0.9.0.bazel" + } + }, + "rules_rust_bindgen__windows-targets-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows-targets-0.48.0", + "sha256": "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-targets/0.48.0/download" + ], + "strip_prefix": "windows-targets-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows-targets-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__twoway-0.1.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__twoway-0.1.8", + "sha256": "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/twoway/0.1.8/download" + ], + "strip_prefix": "twoway-0.1.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.twoway-0.1.8.bazel" + } + }, + "cui__redox_syscall-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__redox_syscall-0.4.1", + "sha256": "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/redox_syscall/0.4.1/download" + ], + "strip_prefix": "redox_syscall-0.4.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.redox_syscall-0.4.1.bazel" + } + }, + "rules_rust_wasm_bindgen__id-arena-2.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__id-arena-2.2.1", + "sha256": "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/id-arena/2.2.1/download" + ], + "strip_prefix": "id-arena-2.2.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.id-arena-2.2.1.bazel" + } + }, + "rules_rust_wasm_bindgen__linux-raw-sys-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__linux-raw-sys-0.3.8", + "sha256": "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download" + ], + "strip_prefix": "linux-raw-sys-0.3.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel" + } + }, + "cui__normpath-1.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__normpath-1.1.1", + "sha256": "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/normpath/1.1.1/download" + ], + "strip_prefix": "normpath-1.1.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.normpath-1.1.1.bazel" + } + }, + "cui__quote-1.0.29": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__quote-1.0.29", + "sha256": "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.29/download" + ], + "strip_prefix": "quote-1.0.29", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.quote-1.0.29.bazel" + } + }, + "rules_rust_wasm_bindgen__safemem-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__safemem-0.3.3", + "sha256": "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/safemem/0.3.3/download" + ], + "strip_prefix": "safemem-0.3.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.safemem-0.3.3.bazel" + } + }, + "rules_rust_bindgen__lazy_static-1.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__lazy_static-1.4.0", + "sha256": "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lazy_static/1.4.0/download" + ], + "strip_prefix": "lazy_static-1.4.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel" + } + }, + "rules_rust_prost__axum-0.6.18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__axum-0.6.18", + "sha256": "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/axum/0.6.18/download" + ], + "strip_prefix": "axum-0.6.18", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.axum-0.6.18.bazel" + } + }, + "rules_rust_prost__parking_lot-0.12.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__parking_lot-0.12.1", + "sha256": "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/parking_lot/0.12.1/download" + ], + "strip_prefix": "parking_lot-0.12.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.parking_lot-0.12.1.bazel" + } + }, + "rules_rust_wasm_bindgen__assert_cmd-1.0.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__assert_cmd-1.0.8", + "sha256": "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/assert_cmd/1.0.8/download" + ], + "strip_prefix": "assert_cmd-1.0.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.assert_cmd-1.0.8.bazel" + } + }, + "cui__cargo-platform-0.1.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cargo-platform-0.1.4", + "sha256": "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cargo-platform/0.1.4/download" + ], + "strip_prefix": "cargo-platform-0.1.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cargo-platform-0.1.4.bazel" + } + }, + "cui__serde_starlark-0.1.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__serde_starlark-0.1.14", + "sha256": "29675b116dd4c7ab4012e00e71f6dee9ed8c731108468b4434779c6b9eec7957", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_starlark/0.1.14/download" + ], + "strip_prefix": "serde_starlark-0.1.14", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.serde_starlark-0.1.14.bazel" + } + }, + "cui__slug-0.1.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__slug-0.1.4", + "sha256": "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/slug/0.1.4/download" + ], + "strip_prefix": "slug-0.1.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.slug-0.1.4.bazel" + } + }, + "cui__ppv-lite86-0.2.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__ppv-lite86-0.2.17", + "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download" + ], + "strip_prefix": "ppv-lite86-0.2.17", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.ppv-lite86-0.2.17.bazel" + } + }, + "cui__rand_core-0.6.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand_core-0.6.4", + "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_core/0.6.4/download" + ], + "strip_prefix": "rand_core-0.6.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand_core-0.6.4.bazel" + } + }, + "rules_rust_prost__errno-dragonfly-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__errno-dragonfly-0.1.2", + "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download" + ], + "strip_prefix": "errno-dragonfly-0.1.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel" + } + }, + "cui__gix-url-0.24.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-url-0.24.0", + "sha256": "6125ecf46e8c68bf7202da6cad239831daebf0247ffbab30210d72f3856e420f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-url/0.24.0/download" + ], + "strip_prefix": "gix-url-0.24.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-url-0.24.0.bazel" + } + }, + "rules_rust_wasm_bindgen__percent-encoding-2.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__percent-encoding-2.3.0", + "sha256": "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/percent-encoding/2.3.0/download" + ], + "strip_prefix": "percent-encoding-2.3.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.percent-encoding-2.3.0.bazel" + } + }, + "rules_rust_prost__wasi-0.11.0-wasi-snapshot-preview1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__wasi-0.11.0-wasi-snapshot-preview1", + "sha256": "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download" + ], + "strip_prefix": "wasi-0.11.0+wasi-snapshot-preview1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel" + } + }, + "rules_rust_wasm_bindgen__rustix-0.37.23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rustix-0.37.23", + "sha256": "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.37.23/download" + ], + "strip_prefix": "rustix-0.37.23", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rustix-0.37.23.bazel" + } + }, + "cui__clap_builder-4.3.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__clap_builder-4.3.11", + "sha256": "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_builder/4.3.11/download" + ], + "strip_prefix": "clap_builder-4.3.11", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.clap_builder-4.3.11.bazel" + } + }, + "cui__tracing-core-0.1.32": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tracing-core-0.1.32", + "sha256": "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-core/0.1.32/download" + ], + "strip_prefix": "tracing-core-0.1.32", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tracing-core-0.1.32.bazel" + } + }, + "rrra__clap_lex-0.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__clap_lex-0.5.0", + "sha256": "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_lex/0.5.0/download" + ], + "strip_prefix": "clap_lex-0.5.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel" + } + }, + "rules_rust_prost__base64-0.21.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__base64-0.21.2", + "sha256": "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/base64/0.21.2/download" + ], + "strip_prefix": "base64-0.21.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.base64-0.21.2.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_i686_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_i686_msvc-0.48.0", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download" + ], + "strip_prefix": "windows_i686_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel" + } + }, + "cui__home-0.5.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__home-0.5.5", + "sha256": "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/home/0.5.5/download" + ], + "strip_prefix": "home-0.5.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.home-0.5.5.bazel" + } + }, + "cui__windows_x86_64_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_x86_64_gnu-0.48.0", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel" + } + }, + "cui__gix-actor-0.27.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-actor-0.27.0", + "sha256": "08c60e982c5290897122d4e2622447f014a2dadd5a18cb73d50bb91b31645e27", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-actor/0.27.0/download" + ], + "strip_prefix": "gix-actor-0.27.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-actor-0.27.0.bazel" + } + }, + "cui__gix-attributes-0.19.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-attributes-0.19.0", + "sha256": "2451665e70709ba4753b623ef97511ee98c4a73816b2c5b5df25678d607ed820", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-attributes/0.19.0/download" + ], + "strip_prefix": "gix-attributes-0.19.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-attributes-0.19.0.bazel" + } + }, + "cui__unic-ucd-version-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-ucd-version-0.9.0", + "sha256": "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-ucd-version/0.9.0/download" + ], + "strip_prefix": "unic-ucd-version-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-ucd-version-0.9.0.bazel" + } + }, + "com_google_googleapis": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~com_google_googleapis", + "urls": [ + "https://github.com/googleapis/googleapis/archive/18becb1d1426feb7399db144d7beeb3284f1ccb0.zip" + ], + "strip_prefix": "googleapis-18becb1d1426feb7399db144d7beeb3284f1ccb0", + "sha256": "b8c487191eb942361af905e40172644eab490190e717c3d09bf83e87f3994fff" + } + }, + "cui__either-1.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__either-1.9.0", + "sha256": "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/either/1.9.0/download" + ], + "strip_prefix": "either-1.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.either-1.9.0.bazel" + } + }, + "rules_rust_wasm_bindgen__gimli-0.26.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__gimli-0.26.2", + "sha256": "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gimli/0.26.2/download" + ], + "strip_prefix": "gimli-0.26.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.gimli-0.26.2.bazel" + } + }, + "cui__parking_lot-0.12.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__parking_lot-0.12.1", + "sha256": "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/parking_lot/0.12.1/download" + ], + "strip_prefix": "parking_lot-0.12.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.parking_lot-0.12.1.bazel" + } + }, + "cui__globwalk-0.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__globwalk-0.8.1", + "sha256": "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/globwalk/0.8.1/download" + ], + "strip_prefix": "globwalk-0.8.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.globwalk-0.8.1.bazel" + } + }, + "rules_rust_bindgen__clap-4.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clap-4.3.3", + "sha256": "ca8f255e4b8027970e78db75e78831229c9815fdbfa67eb1a1b777a62e24b4a0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap/4.3.3/download" + ], + "strip_prefix": "clap-4.3.3", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clap-4.3.3.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-wasm-interpreter-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-wasm-interpreter-0.2.91", + "sha256": "682940195a701dbf887f20017418b8cac916a37b3f91ededec33226619e973c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-wasm-interpreter/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-wasm-interpreter-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-wasm-interpreter-0.2.91.bazel" + } + }, + "rules_rust_prost__hyper-0.14.26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__hyper-0.14.26", + "sha256": "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hyper/0.14.26/download" + ], + "strip_prefix": "hyper-0.14.26", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.hyper-0.14.26.bazel" + } + }, + "rules_rust_wasm_bindgen__predicates-2.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__predicates-2.1.5", + "sha256": "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/predicates/2.1.5/download" + ], + "strip_prefix": "predicates-2.1.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.predicates-2.1.5.bazel" + } + }, + "rules_rust_wasm_bindgen__ring-0.17.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ring-0.17.5", + "sha256": "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ring/0.17.5/download" + ], + "strip_prefix": "ring-0.17.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.ring-0.17.5.bazel" + } + }, + "rules_rust_prost__memchr-2.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__memchr-2.5.0", + "sha256": "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memchr/2.5.0/download" + ], + "strip_prefix": "memchr-2.5.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.memchr-2.5.0.bazel" + } + }, + "cui__crates-index-2.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crates-index-2.2.0", + "sha256": "33bc10579ea08741ae173928194b6c42c90b295d51ddd0d18238eaf15502ac87", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crates-index/2.2.0/download" + ], + "strip_prefix": "crates-index-2.2.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crates-index-2.2.0.bazel" + } + }, + "cui__windows_x86_64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_x86_64_msvc-0.48.0", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__crossbeam-channel-0.5.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__crossbeam-channel-0.5.8", + "sha256": "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-channel/0.5.8/download" + ], + "strip_prefix": "crossbeam-channel-0.5.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-channel-0.5.8.bazel" + } + }, + "rules_rust_wasm_bindgen__windows-sys-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows-sys-0.48.0", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-sys/0.48.0/download" + ], + "strip_prefix": "windows-sys-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel" + } + }, + "cui__redox_syscall-0.3.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__redox_syscall-0.3.5", + "sha256": "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/redox_syscall/0.3.5/download" + ], + "strip_prefix": "redox_syscall-0.3.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.redox_syscall-0.3.5.bazel" + } + }, + "rules_rust_wasm_bindgen__flate2-1.0.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__flate2-1.0.28", + "sha256": "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/flate2/1.0.28/download" + ], + "strip_prefix": "flate2-1.0.28", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.flate2-1.0.28.bazel" + } + }, + "rules_rust_wasm_bindgen__indexmap-1.9.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__indexmap-1.9.3", + "sha256": "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/indexmap/1.9.3/download" + ], + "strip_prefix": "indexmap-1.9.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.indexmap-1.9.3.bazel" + } + }, + "rules_rust_wasm_bindgen__once_cell-1.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__once_cell-1.18.0", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.18.0/download" + ], + "strip_prefix": "once_cell-1.18.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.once_cell-1.18.0.bazel" + } + }, + "rules_rust_wasm_bindgen__termtree-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__termtree-0.4.1", + "sha256": "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/termtree/0.4.1/download" + ], + "strip_prefix": "termtree-0.4.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.termtree-0.4.1.bazel" + } + }, + "rules_rust_bindgen__anstream-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__anstream-0.3.2", + "sha256": "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstream/0.3.2/download" + ], + "strip_prefix": "anstream-0.3.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.anstream-0.3.2.bazel" + } + }, + "rules_rust_wasm_bindgen__scopeguard-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__scopeguard-1.1.0", + "sha256": "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/scopeguard/1.1.0/download" + ], + "strip_prefix": "scopeguard-1.1.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.scopeguard-1.1.0.bazel" + } + }, + "cui__gix-protocol-0.40.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-protocol-0.40.0", + "sha256": "cc7b700dc20cc9be8a5130a1fd7e10c34117ffa7068431c8c24d963f0a2e0c9b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-protocol/0.40.0/download" + ], + "strip_prefix": "gix-protocol-0.40.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-protocol-0.40.0.bazel" + } + }, + "bazelci_rules": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~bazelci_rules", + "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + "strip_prefix": "bazelci_rules-1.0.0", + "url": "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz" + } + }, + "rules_rust_wasm_bindgen__doc-comment-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__doc-comment-0.3.3", + "sha256": "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/doc-comment/0.3.3/download" + ], + "strip_prefix": "doc-comment-0.3.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.doc-comment-0.3.3.bazel" + } + }, + "rules_rust_wasm_bindgen__fastrand-1.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__fastrand-1.9.0", + "sha256": "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fastrand/1.9.0/download" + ], + "strip_prefix": "fastrand-1.9.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.fastrand-1.9.0.bazel" + } + }, + "rules_rust_wasm_bindgen__num_threads-0.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__num_threads-0.1.6", + "sha256": "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num_threads/0.1.6/download" + ], + "strip_prefix": "num_threads-0.1.6", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.num_threads-0.1.6.bazel" + } + }, + "cui__crc32fast-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crc32fast-1.3.2", + "sha256": "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crc32fast/1.3.2/download" + ], + "strip_prefix": "crc32fast-1.3.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crc32fast-1.3.2.bazel" + } + }, + "cui__rayon-core-1.12.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rayon-core-1.12.0", + "sha256": "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rayon-core/1.12.0/download" + ], + "strip_prefix": "rayon-core-1.12.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rayon-core-1.12.0.bazel" + } + }, + "rules_rust_wasm_bindgen__lazy_static-1.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__lazy_static-1.4.0", + "sha256": "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lazy_static/1.4.0/download" + ], + "strip_prefix": "lazy_static-1.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel" + } + }, + "cui__thread_local-1.1.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__thread_local-1.1.4", + "sha256": "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/thread_local/1.1.4/download" + ], + "strip_prefix": "thread_local-1.1.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.thread_local-1.1.4.bazel" + } + }, + "rules_rust_bindgen__aho-corasick-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__aho-corasick-1.0.2", + "sha256": "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/aho-corasick/1.0.2/download" + ], + "strip_prefix": "aho-corasick-1.0.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel" + } + }, + "rules_rust_wasm_bindgen__threadpool-1.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__threadpool-1.8.1", + "sha256": "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/threadpool/1.8.1/download" + ], + "strip_prefix": "threadpool-1.8.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.threadpool-1.8.1.bazel" + } + }, + "rules_rust_wasm_bindgen__walrus-macro-0.19.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__walrus-macro-0.19.0", + "sha256": "0a6e5bd22c71e77d60140b0bd5be56155a37e5bd14e24f5f87298040d0cc40d7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/walrus-macro/0.19.0/download" + ], + "strip_prefix": "walrus-macro-0.19.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.walrus-macro-0.19.0.bazel" + } + }, + "cui__linux-raw-sys-0.4.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__linux-raw-sys-0.4.10", + "sha256": "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.4.10/download" + ], + "strip_prefix": "linux-raw-sys-0.4.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.linux-raw-sys-0.4.10.bazel" + } + }, + "cui__rdrand-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rdrand-0.4.0", + "sha256": "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rdrand/0.4.0/download" + ], + "strip_prefix": "rdrand-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rdrand-0.4.0.bazel" + } + }, + "rules_rust_bindgen__anstyle-wincon-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__anstyle-wincon-1.0.1", + "sha256": "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-wincon/1.0.1/download" + ], + "strip_prefix": "anstyle-wincon-1.0.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel" + } + }, + "rrra__windows_x86_64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_x86_64_msvc-0.48.0", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel" + } + }, + "cui__rand_core-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand_core-0.3.1", + "sha256": "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_core/0.3.1/download" + ], + "strip_prefix": "rand_core-0.3.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand_core-0.3.1.bazel" + } + }, + "cui__rayon-1.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rayon-1.8.0", + "sha256": "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rayon/1.8.0/download" + ], + "strip_prefix": "rayon-1.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rayon-1.8.0.bazel" + } + }, + "cui__cpufeatures-0.2.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cpufeatures-0.2.9", + "sha256": "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cpufeatures/0.2.9/download" + ], + "strip_prefix": "cpufeatures-0.2.9", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cpufeatures-0.2.9.bazel" + } + }, + "cui__tempfile-3.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tempfile-3.8.1", + "sha256": "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tempfile/3.8.1/download" + ], + "strip_prefix": "tempfile-3.8.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tempfile-3.8.1.bazel" + } + }, + "rules_rust_prost__mio-0.8.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__mio-0.8.8", + "sha256": "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/mio/0.8.8/download" + ], + "strip_prefix": "mio-0.8.8", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.mio-0.8.8.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_aarch64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_aarch64_msvc-0.48.0", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel" + } + }, + "cui__rustc-serialize-0.3.25": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rustc-serialize-0.3.25", + "sha256": "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustc-serialize/0.3.25/download" + ], + "strip_prefix": "rustc-serialize-0.3.25", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rustc-serialize-0.3.25.bazel" + } + }, + "rrra__anyhow-1.0.71": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anyhow-1.0.71", + "sha256": "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anyhow/1.0.71/download" + ], + "strip_prefix": "anyhow-1.0.71", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anyhow-1.0.71.bazel" + } + }, + "cui__gix-path-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-path-0.10.0", + "sha256": "6a1d370115171e3ae03c5c6d4f7d096f2981a40ddccb98dfd704c773530ba73b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-path/0.10.0/download" + ], + "strip_prefix": "gix-path-0.10.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-path-0.10.0.bazel" + } + }, + "rules_rust_bindgen__hermit-abi-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__hermit-abi-0.3.1", + "sha256": "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.3.1/download" + ], + "strip_prefix": "hermit-abi-0.3.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.hermit-abi-0.3.1.bazel" + } + }, + "rules_rust_wasm_bindgen__multipart-0.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__multipart-0.18.0", + "sha256": "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/multipart/0.18.0/download" + ], + "strip_prefix": "multipart-0.18.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.multipart-0.18.0.bazel" + } + }, + "rules_rust_wasm_bindgen__android_system_properties-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__android_system_properties-0.1.5", + "sha256": "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/android_system_properties/0.1.5/download" + ], + "strip_prefix": "android_system_properties-0.1.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.android_system_properties-0.1.5.bazel" + } + }, + "rules_rust_wasm_bindgen__cc-1.0.83": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__cc-1.0.83", + "sha256": "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.83/download" + ], + "strip_prefix": "cc-1.0.83", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.cc-1.0.83.bazel" + } + }, + "cui__gix-ref-0.37.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-ref-0.37.0", + "sha256": "22e6b749660b613641769edc1954132eb8071a13c32224891686091bef078de4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-ref/0.37.0/download" + ], + "strip_prefix": "gix-ref-0.37.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-ref-0.37.0.bazel" + } + }, + "cui__rand-0.8.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand-0.8.5", + "sha256": "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand/0.8.5/download" + ], + "strip_prefix": "rand-0.8.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand-0.8.5.bazel" + } + }, + "cui__num-integer-0.1.45": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-integer-0.1.45", + "sha256": "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-integer/0.1.45/download" + ], + "strip_prefix": "num-integer-0.1.45", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-integer-0.1.45.bazel" + } + }, + "rules_rust_bindgen__anstyle-query-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__anstyle-query-1.0.0", + "sha256": "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-query/1.0.0/download" + ], + "strip_prefix": "anstyle-query-1.0.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel" + } + }, + "rules_rust_wasm_bindgen__hermit-abi-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__hermit-abi-0.3.2", + "sha256": "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.3.2/download" + ], + "strip_prefix": "hermit-abi-0.3.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.hermit-abi-0.3.2.bazel" + } + }, + "rrra__utf8parse-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__utf8parse-0.2.1", + "sha256": "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/utf8parse/0.2.1/download" + ], + "strip_prefix": "utf8parse-0.2.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel" + } + }, + "rules_rust_wasm_bindgen__getrandom-0.2.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__getrandom-0.2.10", + "sha256": "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/getrandom/0.2.10/download" + ], + "strip_prefix": "getrandom-0.2.10", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.getrandom-0.2.10.bazel" + } + }, + "cargo_bazel.buildifier-windows-amd64.exe": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_rust~0.40.0~i~cargo_bazel.buildifier-windows-amd64.exe", + "urls": [ + "https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier-windows-amd64.exe" + ], + "sha256": "45e13b2951e4c611d346dacdaf0aafaa484045a3e7300fbc5dd01a896a688177", + "downloaded_file_path": "buildifier.exe", + "executable": true + } + }, + "cui__regex-1.10.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__regex-1.10.2", + "sha256": "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex/1.10.2/download" + ], + "strip_prefix": "regex-1.10.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.regex-1.10.2.bazel" + } + }, + "rules_rust_prost__httparse-1.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__httparse-1.8.0", + "sha256": "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/httparse/1.8.0/download" + ], + "strip_prefix": "httparse-1.8.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.httparse-1.8.0.bazel" + } + }, + "rules_rust_bindgen__shlex-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__shlex-1.1.0", + "sha256": "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/shlex/1.1.0/download" + ], + "strip_prefix": "shlex-1.1.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.shlex-1.1.0.bazel" + } + }, + "rrra__log-0.4.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__log-0.4.19", + "sha256": "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/log/0.4.19/download" + ], + "strip_prefix": "log-0.4.19", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.log-0.4.19.bazel" + } + }, + "cui__cargo_metadata-0.18.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cargo_metadata-0.18.1", + "sha256": "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cargo_metadata/0.18.1/download" + ], + "strip_prefix": "cargo_metadata-0.18.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cargo_metadata-0.18.1.bazel" + } + }, + "rules_rust_wasm_bindgen__predicates-1.0.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__predicates-1.0.8", + "sha256": "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/predicates/1.0.8/download" + ], + "strip_prefix": "predicates-1.0.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.predicates-1.0.8.bazel" + } + }, + "rrra__windows-targets-0.48.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows-targets-0.48.1", + "sha256": "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-targets/0.48.1/download" + ], + "strip_prefix": "windows-targets-0.48.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows-targets-0.48.1.bazel" + } + }, + "rules_rust_wasm_bindgen__serde_json-1.0.102": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde_json-1.0.102", + "sha256": "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_json/1.0.102/download" + ], + "strip_prefix": "serde_json-1.0.102", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.serde_json-1.0.102.bazel" + } + }, + "cui__gix-fs-0.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-fs-0.7.0", + "sha256": "09815faba62fe9b32d918b75a554686c98e43f7d48c43a80df58eb718e5c6635", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-fs/0.7.0/download" + ], + "strip_prefix": "gix-fs-0.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-fs-0.7.0.bazel" + } + }, + "rrra__clap_builder-4.3.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__clap_builder-4.3.11", + "sha256": "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_builder/4.3.11/download" + ], + "strip_prefix": "clap_builder-4.3.11", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.clap_builder-4.3.11.bazel" + } + }, + "rules_rust_prost__windows-sys-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows-sys-0.48.0", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-sys/0.48.0/download" + ], + "strip_prefix": "windows-sys-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__windows_i686_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows_i686_gnu-0.48.0", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download" + ], + "strip_prefix": "windows_i686_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel" + } + }, + "cui__gix-lock-10.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-lock-10.0.0", + "sha256": "47fc96fa8b6b6d33555021907c81eb3b27635daecf6e630630bdad44f8feaa95", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-lock/10.0.0/download" + ], + "strip_prefix": "gix-lock-10.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-lock-10.0.0.bazel" + } + }, + "cui__gix-sec-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-sec-0.10.0", + "sha256": "92b9542ac025a8c02ed5d17b3fc031a111a384e859d0be3532ec4d58c40a0f28", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-sec/0.10.0/download" + ], + "strip_prefix": "gix-sec-0.10.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-sec-0.10.0.bazel" + } + }, + "rules_rust_prost__indexmap-1.9.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__indexmap-1.9.3", + "sha256": "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/indexmap/1.9.3/download" + ], + "strip_prefix": "indexmap-1.9.3", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.indexmap-1.9.3.bazel" + } + }, + "cui__gix-trace-0.1.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-trace-0.1.3", + "sha256": "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-trace/0.1.3/download" + ], + "strip_prefix": "gix-trace-0.1.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-trace-0.1.3.bazel" + } + }, + "cui__num-iter-0.1.43": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-iter-0.1.43", + "sha256": "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-iter/0.1.43/download" + ], + "strip_prefix": "num-iter-0.1.43", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-iter-0.1.43.bazel" + } + }, + "rules_rust_wasm_bindgen__ryu-1.0.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ryu-1.0.14", + "sha256": "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ryu/1.0.14/download" + ], + "strip_prefix": "ryu-1.0.14", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.ryu-1.0.14.bazel" + } + }, + "rules_rust_prost__lazy_static-1.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__lazy_static-1.4.0", + "sha256": "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lazy_static/1.4.0/download" + ], + "strip_prefix": "lazy_static-1.4.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel" + } + }, + "cui__humansize-2.1.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__humansize-2.1.3", + "sha256": "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/humansize/2.1.3/download" + ], + "strip_prefix": "humansize-2.1.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.humansize-2.1.3.bazel" + } + }, + "rules_rust_prost__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "rules_rust_wasm_bindgen__io-lifetimes-1.0.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__io-lifetimes-1.0.11", + "sha256": "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download" + ], + "strip_prefix": "io-lifetimes-1.0.11", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel" + } + }, + "rules_rust_prost__tower-service-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tower-service-0.3.2", + "sha256": "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tower-service/0.3.2/download" + ], + "strip_prefix": "tower-service-0.3.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tower-service-0.3.2.bazel" + } + }, + "rules_rust_wasm_bindgen__diff-0.1.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__diff-0.1.13", + "sha256": "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/diff/0.1.13/download" + ], + "strip_prefix": "diff-0.1.13", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.diff-0.1.13.bazel" + } + }, + "rules_rust_prost__multimap-0.8.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__multimap-0.8.3", + "sha256": "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/multimap/0.8.3/download" + ], + "strip_prefix": "multimap-0.8.3", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.multimap-0.8.3.bazel" + } + }, + "rules_rust_wasm_bindgen__difference-2.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__difference-2.0.0", + "sha256": "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/difference/2.0.0/download" + ], + "strip_prefix": "difference-2.0.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.difference-2.0.0.bazel" + } + }, + "rules_rust_wasm_bindgen__unicode-segmentation-1.10.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__unicode-segmentation-1.10.1", + "sha256": "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-segmentation/1.10.1/download" + ], + "strip_prefix": "unicode-segmentation-1.10.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.unicode-segmentation-1.10.1.bazel" + } + }, + "rules_rust_wasm_bindgen__proc-macro2-1.0.64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__proc-macro2-1.0.64", + "sha256": "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.64/download" + ], + "strip_prefix": "proc-macro2-1.0.64", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.proc-macro2-1.0.64.bazel" + } + }, + "cui__rand_core-0.4.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand_core-0.4.2", + "sha256": "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_core/0.4.2/download" + ], + "strip_prefix": "rand_core-0.4.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand_core-0.4.2.bazel" + } + }, + "rrra__cc-1.0.79": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__cc-1.0.79", + "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.79/download" + ], + "strip_prefix": "cc-1.0.79", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.cc-1.0.79.bazel" + } + }, + "rules_rust_wasm_bindgen__rustls-webpki-0.101.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rustls-webpki-0.101.7", + "sha256": "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustls-webpki/0.101.7/download" + ], + "strip_prefix": "rustls-webpki-0.101.7", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rustls-webpki-0.101.7.bazel" + } + }, + "cui__phf-0.11.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__phf-0.11.2", + "sha256": "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/phf/0.11.2/download" + ], + "strip_prefix": "phf-0.11.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.phf-0.11.2.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-threads-xform-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-threads-xform-0.2.91", + "sha256": "90a2e577034352f9aa9352730fcf2562c68957f2e9b9ee70ab6379510e49e2fe", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-threads-xform/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-threads-xform-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-threads-xform-0.2.91.bazel" + } + }, + "rules_rust_wasm_bindgen__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.winapi-0.3.9.bazel" + } + }, + "rules_rust_prost": { + "bzlFile": "@@rules_rust~0.40.0//crate_universe/private:crates_vendor.bzl", + "ruleClassName": "crates_vendor_remote_repository", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.bazel", + "defs_module": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:defs.bzl" + } + }, + "cui__wasm-bindgen-0.2.87": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasm-bindgen-0.2.87", + "sha256": "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen/0.2.87/download" + ], + "strip_prefix": "wasm-bindgen-0.2.87", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasm-bindgen-0.2.87.bazel" + } + }, + "rules_rust_bindgen__quote-1.0.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__quote-1.0.28", + "sha256": "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.28/download" + ], + "strip_prefix": "quote-1.0.28", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.quote-1.0.28.bazel" + } + }, + "rules_rust_wasm_bindgen__wasmparser-0.102.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmparser-0.102.0", + "sha256": "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasmparser/0.102.0/download" + ], + "strip_prefix": "wasmparser-0.102.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.102.0.bazel" + } + }, + "cui__anstyle-query-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anstyle-query-1.0.0", + "sha256": "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-query/1.0.0/download" + ], + "strip_prefix": "anstyle-query-1.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel" + } + }, + "cui__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "rrra__heck-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__heck-0.4.1", + "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.4.1/download" + ], + "strip_prefix": "heck-0.4.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.heck-0.4.1.bazel" + } + }, + "rules_rust_prost__hermit-abi-0.2.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__hermit-abi-0.2.6", + "sha256": "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.2.6/download" + ], + "strip_prefix": "hermit-abi-0.2.6", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.hermit-abi-0.2.6.bazel" + } + }, + "rules_rust_wasm_bindgen__autocfg-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__autocfg-1.1.0", + "sha256": "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/autocfg/1.1.0/download" + ], + "strip_prefix": "autocfg-1.1.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.autocfg-1.1.0.bazel" + } + }, + "cui__bumpalo-3.13.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__bumpalo-3.13.0", + "sha256": "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bumpalo/3.13.0/download" + ], + "strip_prefix": "bumpalo-3.13.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.bumpalo-3.13.0.bazel" + } + }, + "rules_rust_prost__cfg-if-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__cfg-if-1.0.0", + "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cfg-if/1.0.0/download" + ], + "strip_prefix": "cfg-if-1.0.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel" + } + }, + "rules_rust_bindgen__anstyle-parse-0.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__anstyle-parse-0.2.0", + "sha256": "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-parse/0.2.0/download" + ], + "strip_prefix": "anstyle-parse-0.2.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.anstyle-parse-0.2.0.bazel" + } + }, + "rules_rust_bindgen__bindgen-0.69.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__bindgen-0.69.1", + "sha256": "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bindgen/0.69.1/download" + ], + "strip_prefix": "bindgen-0.69.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.bindgen-0.69.1.bazel" + } + }, + "cui__version_check-0.9.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__version_check-0.9.4", + "sha256": "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/version_check/0.9.4/download" + ], + "strip_prefix": "version_check-0.9.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.version_check-0.9.4.bazel" + } + }, + "cui__num-complex-0.1.43": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-complex-0.1.43", + "sha256": "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-complex/0.1.43/download" + ], + "strip_prefix": "num-complex-0.1.43", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-complex-0.1.43.bazel" + } + }, + "cui__gix-date-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-date-0.8.0", + "sha256": "fc7df669639582dc7c02737642f76890b03b5544e141caba68a7d6b4eb551e0d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-date/0.8.0/download" + ], + "strip_prefix": "gix-date-0.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-date-0.8.0.bazel" + } + }, + "cui__scopeguard-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__scopeguard-1.2.0", + "sha256": "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/scopeguard/1.2.0/download" + ], + "strip_prefix": "scopeguard-1.2.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.scopeguard-1.2.0.bazel" + } + }, + "rules_rust_prost__pin-project-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__pin-project-1.1.0", + "sha256": "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pin-project/1.1.0/download" + ], + "strip_prefix": "pin-project-1.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.pin-project-1.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__quote-1.0.29": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__quote-1.0.29", + "sha256": "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.29/download" + ], + "strip_prefix": "quote-1.0.29", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.quote-1.0.29.bazel" + } + }, + "rules_rust_bindgen__clang-sys-1.6.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__clang-sys-1.6.1", + "sha256": "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clang-sys/1.6.1/download" + ], + "strip_prefix": "clang-sys-1.6.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.clang-sys-1.6.1.bazel" + } + }, + "cui__parse-zoneinfo-0.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__parse-zoneinfo-0.3.0", + "sha256": "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/parse-zoneinfo/0.3.0/download" + ], + "strip_prefix": "parse-zoneinfo-0.3.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.parse-zoneinfo-0.3.0.bazel" + } + }, + "cui__unicode-bidi-0.3.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-bidi-0.3.13", + "sha256": "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-bidi/0.3.13/download" + ], + "strip_prefix": "unicode-bidi-0.3.13", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-bidi-0.3.13.bazel" + } + }, + "cui__gix-traverse-0.33.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-traverse-0.33.0", + "sha256": "22ef04ab3643acba289b5cedd25d6f53c0430770b1d689d1d654511e6fb81ba0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-traverse/0.33.0/download" + ], + "strip_prefix": "gix-traverse-0.33.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-traverse-0.33.0.bazel" + } + }, + "rrra__anstyle-parse-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anstyle-parse-0.2.1", + "sha256": "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-parse/0.2.1/download" + ], + "strip_prefix": "anstyle-parse-0.2.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-parse-0.2.1.bazel" + } + }, + "rules_rust_wasm_bindgen__stable_deref_trait-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__stable_deref_trait-1.2.0", + "sha256": "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download" + ], + "strip_prefix": "stable_deref_trait-1.2.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.stable_deref_trait-1.2.0.bazel" + } + }, + "rules_rust_wasm_bindgen__num_cpus-1.16.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__num_cpus-1.16.0", + "sha256": "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num_cpus/1.16.0/download" + ], + "strip_prefix": "num_cpus-1.16.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.num_cpus-1.16.0.bazel" + } + }, + "llvm-raw": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~llvm-raw", + "urls": [ + "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/llvm-project-14.0.6.src.tar.xz" + ], + "strip_prefix": "llvm-project-14.0.6.src", + "sha256": "8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a", + "build_file_content": "# empty", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_rust~0.40.0//bindgen/3rdparty/patches:llvm-project.cxx17.patch", + "@@rules_rust~0.40.0//bindgen/3rdparty/patches:llvm-project.incompatible_disallow_empty_glob.patch" + ] + } + }, + "cui__miniz_oxide-0.7.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__miniz_oxide-0.7.1", + "sha256": "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download" + ], + "strip_prefix": "miniz_oxide-0.7.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.miniz_oxide-0.7.1.bazel" + } + }, + "cui__phf_codegen-0.11.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__phf_codegen-0.11.2", + "sha256": "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/phf_codegen/0.11.2/download" + ], + "strip_prefix": "phf_codegen-0.11.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.phf_codegen-0.11.2.bazel" + } + }, + "cui__winapi-util-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__winapi-util-0.1.5", + "sha256": "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-util/0.1.5/download" + ], + "strip_prefix": "winapi-util-0.1.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel" + } + }, + "rules_rust_bindgen__io-lifetimes-1.0.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__io-lifetimes-1.0.11", + "sha256": "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download" + ], + "strip_prefix": "io-lifetimes-1.0.11", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel" + } + }, + "cui__unic-char-range-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-char-range-0.9.0", + "sha256": "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-char-range/0.9.0/download" + ], + "strip_prefix": "unic-char-range-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-char-range-0.9.0.bazel" + } + }, + "rules_rust_wasm_bindgen__leb128-0.2.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__leb128-0.2.5", + "sha256": "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/leb128/0.2.5/download" + ], + "strip_prefix": "leb128-0.2.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.leb128-0.2.5.bazel" + } + }, + "cui__crossbeam-deque-0.8.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-deque-0.8.3", + "sha256": "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-deque/0.8.3/download" + ], + "strip_prefix": "crossbeam-deque-0.8.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-deque-0.8.3.bazel" + } + }, + "rules_rust_wasm_bindgen__predicates-core-1.0.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__predicates-core-1.0.6", + "sha256": "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/predicates-core/1.0.6/download" + ], + "strip_prefix": "predicates-core-1.0.6", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.predicates-core-1.0.6.bazel" + } + }, + "cui__android_system_properties-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__android_system_properties-0.1.5", + "sha256": "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/android_system_properties/0.1.5/download" + ], + "strip_prefix": "android_system_properties-0.1.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.android_system_properties-0.1.5.bazel" + } + }, + "cui__windows_aarch64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_aarch64_msvc-0.48.0", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel" + } + }, + "cui__anstyle-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anstyle-1.0.1", + "sha256": "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle/1.0.1/download" + ], + "strip_prefix": "anstyle-1.0.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anstyle-1.0.1.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-0.2.91", + "sha256": "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-0.2.91.bazel" + } + }, + "cui__pest_meta-2.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pest_meta-2.7.0", + "sha256": "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pest_meta/2.7.0/download" + ], + "strip_prefix": "pest_meta-2.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pest_meta-2.7.0.bazel" + } + }, + "cui__anstyle-wincon-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anstyle-wincon-1.0.1", + "sha256": "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-wincon/1.0.1/download" + ], + "strip_prefix": "anstyle-wincon-1.0.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel" + } + }, + "rrra__anstyle-query-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anstyle-query-1.0.0", + "sha256": "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-query/1.0.0/download" + ], + "strip_prefix": "anstyle-query-1.0.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel" + } + }, + "rules_rust_prost__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "rrra__clap_derive-4.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__clap_derive-4.3.2", + "sha256": "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_derive/4.3.2/download" + ], + "strip_prefix": "clap_derive-4.3.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel" + } + }, + "cui__gix-hash-0.13.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-hash-0.13.1", + "sha256": "1884c7b41ea0875217c1be9ce91322f90bde433e91d374d0e1276073a51ccc60", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-hash/0.13.1/download" + ], + "strip_prefix": "gix-hash-0.13.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-hash-0.13.1.bazel" + } + }, + "cui__maybe-async-0.2.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__maybe-async-0.2.7", + "sha256": "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/maybe-async/0.2.7/download" + ], + "strip_prefix": "maybe-async-0.2.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.maybe-async-0.2.7.bazel" + } + }, + "cui__regex-automata-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__regex-automata-0.3.3", + "sha256": "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-automata/0.3.3/download" + ], + "strip_prefix": "regex-automata-0.3.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.regex-automata-0.3.3.bazel" + } + }, + "rrra__windows_aarch64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_aarch64_msvc-0.48.0", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel" + } + }, + "cui__gix-filter-0.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-filter-0.5.0", + "sha256": "1be40d28cd41445bb6cd52c4d847d915900e5466f7433eaee6a9e0a3d1d88b08", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-filter/0.5.0/download" + ], + "strip_prefix": "gix-filter-0.5.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-filter-0.5.0.bazel" + } + }, + "rules_rust_wasm_bindgen__mime-0.3.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__mime-0.3.17", + "sha256": "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/mime/0.3.17/download" + ], + "strip_prefix": "mime-0.3.17", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.mime-0.3.17.bazel" + } + }, + "rules_rust_prost__which-4.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__which-4.4.0", + "sha256": "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/which/4.4.0/download" + ], + "strip_prefix": "which-4.4.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.which-4.4.0.bazel" + } + }, + "rrra__anstyle-wincon-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anstyle-wincon-1.0.1", + "sha256": "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle-wincon/1.0.1/download" + ], + "strip_prefix": "anstyle-wincon-1.0.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel" + } + }, + "rrra__rustix-0.37.23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__rustix-0.37.23", + "sha256": "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustix/0.37.23/download" + ], + "strip_prefix": "rustix-0.37.23", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.rustix-0.37.23.bazel" + } + }, + "rules_rust_prost__hermit-abi-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__hermit-abi-0.3.1", + "sha256": "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.3.1/download" + ], + "strip_prefix": "hermit-abi-0.3.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.hermit-abi-0.3.1.bazel" + } + }, + "rules_rust_wasm_bindgen__adler-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__adler-1.0.2", + "sha256": "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/adler/1.0.2/download" + ], + "strip_prefix": "adler-1.0.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.adler-1.0.2.bazel" + } + }, + "rules_rust_wasm_bindgen__log-0.4.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__log-0.4.19", + "sha256": "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/log/0.4.19/download" + ], + "strip_prefix": "log-0.4.19", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.log-0.4.19.bazel" + } + }, + "rules_rust_bindgen__heck-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__heck-0.4.1", + "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.4.1/download" + ], + "strip_prefix": "heck-0.4.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.heck-0.4.1.bazel" + } + }, + "cui__maplit-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__maplit-1.0.2", + "sha256": "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/maplit/1.0.2/download" + ], + "strip_prefix": "maplit-1.0.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.maplit-1.0.2.bazel" + } + }, + "rrra__syn-2.0.25": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__syn-2.0.25", + "sha256": "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.25/download" + ], + "strip_prefix": "syn-2.0.25", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.syn-2.0.25.bazel" + } + }, + "cui__digest-0.10.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__digest-0.10.7", + "sha256": "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/digest/0.10.7/download" + ], + "strip_prefix": "digest-0.10.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.digest-0.10.7.bazel" + } + }, + "cui__gix-worktree-0.26.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-worktree-0.26.0", + "sha256": "9f5e32972801bd82d56609e6fc84efc358fa1f11f25c5e83b7807ee2280f14fe", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-worktree/0.26.0/download" + ], + "strip_prefix": "gix-worktree-0.26.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-worktree-0.26.0.bazel" + } + }, + "cui__equivalent-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__equivalent-1.0.1", + "sha256": "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/equivalent/1.0.1/download" + ], + "strip_prefix": "equivalent-1.0.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.equivalent-1.0.1.bazel" + } + }, + "rules_rust_wasm_bindgen__semver-1.0.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__semver-1.0.17", + "sha256": "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/semver/1.0.17/download" + ], + "strip_prefix": "semver-1.0.17", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.semver-1.0.17.bazel" + } + }, + "cui": { + "bzlFile": "@@rules_rust~0.40.0//crate_universe/private:crates_vendor.bzl", + "ruleClassName": "crates_vendor_remote_repository", + "attributes": { + "name": "rules_rust~0.40.0~i~cui", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.bazel", + "defs_module": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:defs.bzl" + } + }, + "rules_rust_wasm_bindgen__memchr-2.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__memchr-2.5.0", + "sha256": "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memchr/2.5.0/download" + ], + "strip_prefix": "memchr-2.5.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.memchr-2.5.0.bazel" + } + }, + "cui__once_cell-1.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__once_cell-1.18.0", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.18.0/download" + ], + "strip_prefix": "once_cell-1.18.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.once_cell-1.18.0.bazel" + } + }, + "rules_rust_wasm_bindgen__wasmparser-0.80.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmparser-0.80.2", + "sha256": "449167e2832691a1bff24cde28d2804e90e09586a448c8e76984792c44334a6b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasmparser/0.80.2/download" + ], + "strip_prefix": "wasmparser-0.80.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.80.2.bazel" + } + }, + "rrra__once_cell-1.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__once_cell-1.18.0", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.18.0/download" + ], + "strip_prefix": "once_cell-1.18.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.once_cell-1.18.0.bazel" + } + }, + "cui__heck-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__heck-0.4.1", + "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.4.1/download" + ], + "strip_prefix": "heck-0.4.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.heck-0.4.1.bazel" + } + }, + "rules_rust_wasm_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel" + } + }, + "rules_rust_bindgen__is-terminal-0.4.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__is-terminal-0.4.7", + "sha256": "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/is-terminal/0.4.7/download" + ], + "strip_prefix": "is-terminal-0.4.7", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel" + } + }, + "cui__autocfg-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__autocfg-1.1.0", + "sha256": "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/autocfg/1.1.0/download" + ], + "strip_prefix": "autocfg-1.1.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.autocfg-1.1.0.bazel" + } + }, + "rules_rust_prost__tokio-util-0.7.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tokio-util-0.7.8", + "sha256": "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tokio-util/0.7.8/download" + ], + "strip_prefix": "tokio-util-0.7.8", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tokio-util-0.7.8.bazel" + } + }, + "libc": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~libc", + "build_file_content": "load(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\nrust_library(\n name = \"libc\",\n srcs = glob([\"src/**/*.rs\"]),\n edition = \"2015\",\n rustc_flags = [\n # In most cases, warnings in 3rd party crates are not interesting as\n # they're out of the control of consumers. The flag here silences\n # warnings. For more details see:\n # https://doc.rust-lang.org/rustc/lints/levels.html\n \"--cap-lints=allow\",\n ],\n visibility = [\"//visibility:public\"],\n)\n", + "sha256": "1ac4c2ac6ed5a8fb9020c166bc63316205f1dc78d4b964ad31f4f21eb73f0c6d", + "strip_prefix": "libc-0.2.20", + "urls": [ + "https://mirror.bazel.build/github.com/rust-lang/libc/archive/0.2.20.zip", + "https://github.com/rust-lang/libc/archive/0.2.20.zip" + ] + } + }, + "rrra__either-1.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__either-1.8.1", + "sha256": "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/either/1.8.1/download" + ], + "strip_prefix": "either-1.8.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.either-1.8.1.bazel" + } + }, + "rules_rust_bindgen__minimal-lexical-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__minimal-lexical-0.2.1", + "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download" + ], + "strip_prefix": "minimal-lexical-0.2.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.minimal-lexical-0.2.1.bazel" + } + }, + "rules_rust_prost__tokio-io-timeout-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tokio-io-timeout-1.2.0", + "sha256": "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tokio-io-timeout/1.2.0/download" + ], + "strip_prefix": "tokio-io-timeout-1.2.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tokio-io-timeout-1.2.0.bazel" + } + }, + "cui__num-traits-0.2.15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-traits-0.2.15", + "sha256": "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-traits/0.2.15/download" + ], + "strip_prefix": "num-traits-0.2.15", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-traits-0.2.15.bazel" + } + }, + "rules_rust_wasm_bindgen__base64-0.13.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__base64-0.13.1", + "sha256": "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/base64/0.13.1/download" + ], + "strip_prefix": "base64-0.13.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.base64-0.13.1.bazel" + } + }, + "rrra__regex-automata-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__regex-automata-0.3.3", + "sha256": "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-automata/0.3.3/download" + ], + "strip_prefix": "regex-automata-0.3.3", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.regex-automata-0.3.3.bazel" + } + }, + "cui__spdx-0.10.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__spdx-0.10.3", + "sha256": "62bde1398b09b9f93fc2fc9b9da86e362693e999d3a54a8ac47a99a5a73f638b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/spdx/0.10.3/download" + ], + "strip_prefix": "spdx-0.10.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.spdx-0.10.3.bazel" + } + }, + "rules_rust_wasm_bindgen__normalize-line-endings-0.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__normalize-line-endings-0.3.0", + "sha256": "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download" + ], + "strip_prefix": "normalize-line-endings-0.3.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.normalize-line-endings-0.3.0.bazel" + } + }, + "rules_rust_prost__h2-0.3.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__h2-0.3.19", + "sha256": "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/h2/0.3.19/download" + ], + "strip_prefix": "h2-0.3.19", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.h2-0.3.19.bazel" + } + }, + "rules_rust_wasm_bindgen__wasmparser-0.108.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmparser-0.108.0", + "sha256": "76c956109dcb41436a39391139d9b6e2d0a5e0b158e1293ef352ec977e5e36c5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasmparser/0.108.0/download" + ], + "strip_prefix": "wasmparser-0.108.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.108.0.bazel" + } + }, + "rules_rust_bindgen__colorchoice-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__colorchoice-1.0.0", + "sha256": "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/colorchoice/1.0.0/download" + ], + "strip_prefix": "colorchoice-1.0.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel" + } + }, + "rules_rust_wasm_bindgen__humantime-2.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__humantime-2.1.0", + "sha256": "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/humantime/2.1.0/download" + ], + "strip_prefix": "humantime-2.1.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.humantime-2.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__rand_chacha-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rand_chacha-0.3.1", + "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_chacha/0.3.1/download" + ], + "strip_prefix": "rand_chacha-0.3.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rand_chacha-0.3.1.bazel" + } + }, + "rules_rust_bindgen__nom-7.1.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__nom-7.1.3", + "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/nom/7.1.3/download" + ], + "strip_prefix": "nom-7.1.3", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.nom-7.1.3.bazel" + } + }, + "cui__strsim-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__strsim-0.10.0", + "sha256": "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/strsim/0.10.0/download" + ], + "strip_prefix": "strsim-0.10.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.strsim-0.10.0.bazel" + } + }, + "rules_rust_prost__windows_aarch64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_aarch64_gnullvm-0.48.0", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel" + } + }, + "cui__cfg-if-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cfg-if-1.0.0", + "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cfg-if/1.0.0/download" + ], + "strip_prefix": "cfg-if-1.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel" + } + }, + "cui__errno-dragonfly-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__errno-dragonfly-0.1.2", + "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download" + ], + "strip_prefix": "errno-dragonfly-0.1.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel" + } + }, + "rules_rust_wasm_bindgen__hashbrown-0.12.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__hashbrown-0.12.3", + "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hashbrown/0.12.3/download" + ], + "strip_prefix": "hashbrown-0.12.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.hashbrown-0.12.3.bazel" + } + }, + "cui__clap-4.3.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__clap-4.3.11", + "sha256": "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap/4.3.11/download" + ], + "strip_prefix": "clap-4.3.11", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.clap-4.3.11.bazel" + } + }, + "rules_rust_bindgen__regex-syntax-0.7.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__regex-syntax-0.7.2", + "sha256": "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-syntax/0.7.2/download" + ], + "strip_prefix": "regex-syntax-0.7.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.regex-syntax-0.7.2.bazel" + } + }, + "rules_rust_bindgen__cexpr-0.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__cexpr-0.6.0", + "sha256": "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cexpr/0.6.0/download" + ], + "strip_prefix": "cexpr-0.6.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.cexpr-0.6.0.bazel" + } + }, + "cui__proc-macro2-1.0.64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__proc-macro2-1.0.64", + "sha256": "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.64/download" + ], + "strip_prefix": "proc-macro2-1.0.64", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.proc-macro2-1.0.64.bazel" + } + }, + "cui__num-bigint-0.1.44": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-bigint-0.1.44", + "sha256": "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-bigint/0.1.44/download" + ], + "strip_prefix": "num-bigint-0.1.44", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-bigint-0.1.44.bazel" + } + }, + "cui__gix-prompt-0.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-prompt-0.7.0", + "sha256": "5c9a913769516f5e9d937afac206fb76428e3d7238e538845842887fda584678", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-prompt/0.7.0/download" + ], + "strip_prefix": "gix-prompt-0.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-prompt-0.7.0.bazel" + } + }, + "cui__nu-ansi-term-0.46.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__nu-ansi-term-0.46.0", + "sha256": "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download" + ], + "strip_prefix": "nu-ansi-term-0.46.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.nu-ansi-term-0.46.0.bazel" + } + }, + "cui__lazy_static-1.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__lazy_static-1.4.0", + "sha256": "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lazy_static/1.4.0/download" + ], + "strip_prefix": "lazy_static-1.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel" + } + }, + "rules_rust_wasm_bindgen__serde_derive-1.0.171": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde_derive-1.0.171", + "sha256": "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_derive/1.0.171/download" + ], + "strip_prefix": "serde_derive-1.0.171", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.serde_derive-1.0.171.bazel" + } + }, + "rules_rust_bindgen__anstyle-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__anstyle-1.0.0", + "sha256": "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstyle/1.0.0/download" + ], + "strip_prefix": "anstyle-1.0.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.anstyle-1.0.0.bazel" + } + }, + "cui__gix-packetline-0.16.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-packetline-0.16.7", + "sha256": "8a8384b1e964151aff0d5632dd9b191059d07dff358b96bd940f1b452600d7ab", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-packetline/0.16.7/download" + ], + "strip_prefix": "gix-packetline-0.16.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-packetline-0.16.7.bazel" + } + }, + "cui__thiserror-impl-1.0.50": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__thiserror-impl-1.0.50", + "sha256": "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/thiserror-impl/1.0.50/download" + ], + "strip_prefix": "thiserror-impl-1.0.50", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.thiserror-impl-1.0.50.bazel" + } + }, + "cui__time-core-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__time-core-0.1.2", + "sha256": "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/time-core/0.1.2/download" + ], + "strip_prefix": "time-core-0.1.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.time-core-0.1.2.bazel" + } + }, + "rules_rust_prost__either-1.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__either-1.8.1", + "sha256": "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/either/1.8.1/download" + ], + "strip_prefix": "either-1.8.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.either-1.8.1.bazel" + } + }, + "cui__itertools-0.12.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__itertools-0.12.0", + "sha256": "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itertools/0.12.0/download" + ], + "strip_prefix": "itertools-0.12.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.itertools-0.12.0.bazel" + } + }, + "cui__time-macros-0.2.15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__time-macros-0.2.15", + "sha256": "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/time-macros/0.2.15/download" + ], + "strip_prefix": "time-macros-0.2.15", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.time-macros-0.2.15.bazel" + } + }, + "rules_rust_prost__try-lock-0.2.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__try-lock-0.2.4", + "sha256": "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/try-lock/0.2.4/download" + ], + "strip_prefix": "try-lock-0.2.4", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.try-lock-0.2.4.bazel" + } + }, + "cui__tera-1.19.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tera-1.19.1", + "sha256": "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tera/1.19.1/download" + ], + "strip_prefix": "tera-1.19.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tera-1.19.1.bazel" + } + }, + "rules_rust_bindgen__bindgen-cli-0.69.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__bindgen-cli-0.69.1", + "integrity": "sha256-iFZe4JEQqZ54KZiX+/7VA7mqAwZThu6MGBl/yvIotQE=", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bindgen-cli/0.69.1/download" + ], + "strip_prefix": "bindgen-cli-0.69.1", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty:BUILD.bindgen-cli.bazel" + } + }, + "rules_rust_wasm_bindgen__tempfile-3.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__tempfile-3.6.0", + "sha256": "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tempfile/3.6.0/download" + ], + "strip_prefix": "tempfile-3.6.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.tempfile-3.6.0.bazel" + } + }, + "rules_rust_prost__axum-core-0.3.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__axum-core-0.3.4", + "sha256": "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/axum-core/0.3.4/download" + ], + "strip_prefix": "axum-core-0.3.4", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.axum-core-0.3.4.bazel" + } + }, + "cui__thiserror-1.0.50": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__thiserror-1.0.50", + "sha256": "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/thiserror/1.0.50/download" + ], + "strip_prefix": "thiserror-1.0.50", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.thiserror-1.0.50.bazel" + } + }, + "cui__globset-0.4.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__globset-0.4.11", + "sha256": "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/globset/0.4.11/download" + ], + "strip_prefix": "globset-0.4.11", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.globset-0.4.11.bazel" + } + }, + "cui__colorchoice-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__colorchoice-1.0.0", + "sha256": "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/colorchoice/1.0.0/download" + ], + "strip_prefix": "colorchoice-1.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel" + } + }, + "rrra__windows-sys-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows-sys-0.48.0", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-sys/0.48.0/download" + ], + "strip_prefix": "windows-sys-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel" + } + }, + "rules_rust_bindgen__linux-raw-sys-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__linux-raw-sys-0.3.8", + "sha256": "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download" + ], + "strip_prefix": "linux-raw-sys-0.3.8", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel" + } + }, + "rules_rust_prost__libc-0.2.146": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__libc-0.2.146", + "sha256": "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libc/0.2.146/download" + ], + "strip_prefix": "libc-0.2.146", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.libc-0.2.146.bazel" + } + }, + "rules_rust_wasm_bindgen__regex-automata-0.3.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__regex-automata-0.3.3", + "sha256": "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-automata/0.3.3/download" + ], + "strip_prefix": "regex-automata-0.3.3", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.regex-automata-0.3.3.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-multi-value-xform-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-multi-value-xform-0.2.91", + "sha256": "d1e019acde479e2f090fb7f14a51fa0077ec3a7bb12a56e0e888a82be7b5bd3f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-multi-value-xform/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-multi-value-xform-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-multi-value-xform-0.2.91.bazel" + } + }, + "rules_rust_wasm_bindgen__itertools-0.10.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__itertools-0.10.5", + "sha256": "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itertools/0.10.5/download" + ], + "strip_prefix": "itertools-0.10.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.itertools-0.10.5.bazel" + } + }, + "cui__windows-sys-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows-sys-0.48.0", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-sys/0.48.0/download" + ], + "strip_prefix": "windows-sys-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel" + } + }, + "cui__typenum-1.16.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__typenum-1.16.0", + "sha256": "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/typenum/1.16.0/download" + ], + "strip_prefix": "typenum-1.16.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.typenum-1.16.0.bazel" + } + }, + "rules_rust_wasm_bindgen__rand-0.8.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rand-0.8.5", + "sha256": "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand/0.8.5/download" + ], + "strip_prefix": "rand-0.8.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rand-0.8.5.bazel" + } + }, + "cui__errno-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__errno-0.3.1", + "sha256": "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno/0.3.1/download" + ], + "strip_prefix": "errno-0.3.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.errno-0.3.1.bazel" + } + }, + "cui__num-rational-0.1.42": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num-rational-0.1.42", + "sha256": "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-rational/0.1.42/download" + ], + "strip_prefix": "num-rational-0.1.42", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num-rational-0.1.42.bazel" + } + }, + "rules_rust_wasm_bindgen__rayon-1.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rayon-1.7.0", + "sha256": "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rayon/1.7.0/download" + ], + "strip_prefix": "rayon-1.7.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rayon-1.7.0.bazel" + } + }, + "rules_rust_wasm_bindgen__spin-0.9.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__spin-0.9.8", + "sha256": "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/spin/0.9.8/download" + ], + "strip_prefix": "spin-0.9.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.spin-0.9.8.bazel" + } + }, + "rules_rust_wasm_bindgen__difflib-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__difflib-0.4.0", + "sha256": "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/difflib/0.4.0/download" + ], + "strip_prefix": "difflib-0.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.difflib-0.4.0.bazel" + } + }, + "rules_rust_wasm_bindgen__num-traits-0.2.15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__num-traits-0.2.15", + "sha256": "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num-traits/0.2.15/download" + ], + "strip_prefix": "num-traits-0.2.15", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.num-traits-0.2.15.bazel" + } + }, + "cui__sha2-0.10.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__sha2-0.10.8", + "sha256": "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sha2/0.10.8/download" + ], + "strip_prefix": "sha2-0.10.8", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.sha2-0.10.8.bazel" + } + }, + "cui__clru-0.6.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__clru-0.6.1", + "sha256": "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clru/0.6.1/download" + ], + "strip_prefix": "clru-0.6.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.clru-0.6.1.bazel" + } + }, + "cui__rand-0.4.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand-0.4.6", + "sha256": "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand/0.4.6/download" + ], + "strip_prefix": "rand-0.4.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand-0.4.6.bazel" + } + }, + "rules_rust_prost__heck-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__heck-0.4.1", + "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.4.1/download" + ], + "strip_prefix": "heck-0.4.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.heck-0.4.1.bazel" + } + }, + "cui__rand_chacha-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rand_chacha-0.3.1", + "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_chacha/0.3.1/download" + ], + "strip_prefix": "rand_chacha-0.3.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rand_chacha-0.3.1.bazel" + } + }, + "rrra__io-lifetimes-1.0.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__io-lifetimes-1.0.11", + "sha256": "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download" + ], + "strip_prefix": "io-lifetimes-1.0.11", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel" + } + }, + "rrra__anstream-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__anstream-0.3.2", + "sha256": "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anstream/0.3.2/download" + ], + "strip_prefix": "anstream-0.3.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.anstream-0.3.2.bazel" + } + }, + "cui__phf_shared-0.11.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__phf_shared-0.11.2", + "sha256": "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/phf_shared/0.11.2/download" + ], + "strip_prefix": "phf_shared-0.11.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.phf_shared-0.11.2.bazel" + } + }, + "rrra__bitflags-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__bitflags-1.3.2", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/1.3.2/download" + ], + "strip_prefix": "bitflags-1.3.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.bitflags-1.3.2.bazel" + } + }, + "cui__cargo-lock-9.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cargo-lock-9.0.0", + "sha256": "e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cargo-lock/9.0.0/download" + ], + "strip_prefix": "cargo-lock-9.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cargo-lock-9.0.0.bazel" + } + }, + "rules_rust_bindgen__winapi-util-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__winapi-util-0.1.5", + "sha256": "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-util/0.1.5/download" + ], + "strip_prefix": "winapi-util-0.1.5", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel" + } + }, + "rules_rust_wasm_bindgen__buf_redux-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__buf_redux-0.8.4", + "sha256": "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/buf_redux/0.8.4/download" + ], + "strip_prefix": "buf_redux-0.8.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.buf_redux-0.8.4.bazel" + } + }, + "rules_rust_prost__redox_syscall-0.3.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__redox_syscall-0.3.5", + "sha256": "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/redox_syscall/0.3.5/download" + ], + "strip_prefix": "redox_syscall-0.3.5", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.redox_syscall-0.3.5.bazel" + } + }, + "cui__faster-hex-0.8.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__faster-hex-0.8.1", + "sha256": "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/faster-hex/0.8.1/download" + ], + "strip_prefix": "faster-hex-0.8.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.faster-hex-0.8.1.bazel" + } + }, + "cui__gix-packetline-blocking-0.16.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-packetline-blocking-0.16.6", + "sha256": "7d8395f7501c84d6a1fe902035fdfd8cd86d89e2dd6be0200ec1a72fd3c92d39", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-packetline-blocking/0.16.6/download" + ], + "strip_prefix": "gix-packetline-blocking-0.16.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-packetline-blocking-0.16.6.bazel" + } + }, + "cui__windows_aarch64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_aarch64_gnullvm-0.48.0", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__tracing-core-0.1.31": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tracing-core-0.1.31", + "sha256": "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-core/0.1.31/download" + ], + "strip_prefix": "tracing-core-0.1.31", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tracing-core-0.1.31.bazel" + } + }, + "rrra__env_logger-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__env_logger-0.10.0", + "sha256": "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/env_logger/0.10.0/download" + ], + "strip_prefix": "env_logger-0.10.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.env_logger-0.10.0.bazel" + } + }, + "rules_rust_prost__hashbrown-0.12.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__hashbrown-0.12.3", + "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hashbrown/0.12.3/download" + ], + "strip_prefix": "hashbrown-0.12.3", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.hashbrown-0.12.3.bazel" + } + }, + "rules_rust_wasm_bindgen__aho-corasick-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__aho-corasick-1.0.2", + "sha256": "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/aho-corasick/1.0.2/download" + ], + "strip_prefix": "aho-corasick-1.0.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel" + } + }, + "cui__crossbeam-0.8.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-0.8.2", + "sha256": "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam/0.8.2/download" + ], + "strip_prefix": "crossbeam-0.8.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-0.8.2.bazel" + } + }, + "rules_rust_prost__futures-channel-0.3.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__futures-channel-0.3.28", + "sha256": "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/futures-channel/0.3.28/download" + ], + "strip_prefix": "futures-channel-0.3.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.futures-channel-0.3.28.bazel" + } + }, + "cui__time-0.3.30": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__time-0.3.30", + "sha256": "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/time/0.3.30/download" + ], + "strip_prefix": "time-0.3.30", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.time-0.3.30.bazel" + } + }, + "rules_rust_prost__scopeguard-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__scopeguard-1.1.0", + "sha256": "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/scopeguard/1.1.0/download" + ], + "strip_prefix": "scopeguard-1.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.scopeguard-1.1.0.bazel" + } + }, + "rules_rust_bindgen__unicode-ident-1.0.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__unicode-ident-1.0.9", + "sha256": "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.9/download" + ], + "strip_prefix": "unicode-ident-1.0.9", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.unicode-ident-1.0.9.bazel" + } + }, + "rules_rust_prost__futures-util-0.3.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__futures-util-0.3.28", + "sha256": "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/futures-util/0.3.28/download" + ], + "strip_prefix": "futures-util-0.3.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.futures-util-0.3.28.bazel" + } + }, + "rules_rust_prost__log-0.4.19": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__log-0.4.19", + "sha256": "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/log/0.4.19/download" + ], + "strip_prefix": "log-0.4.19", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.log-0.4.19.bazel" + } + }, + "cui__ucd-trie-0.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__ucd-trie-0.1.6", + "sha256": "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ucd-trie/0.1.6/download" + ], + "strip_prefix": "ucd-trie-0.1.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.ucd-trie-0.1.6.bazel" + } + }, + "cui__gix-pack-0.43.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-pack-0.43.0", + "sha256": "7536203a45b31e1bc5694bbf90ba8da1b736c77040dd6a520db369f371eb1ab3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-pack/0.43.0/download" + ], + "strip_prefix": "gix-pack-0.43.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-pack-0.43.0.bazel" + } + }, + "rules_rust_prost__serde-1.0.164": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__serde-1.0.164", + "sha256": "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde/1.0.164/download" + ], + "strip_prefix": "serde-1.0.164", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.serde-1.0.164.bazel" + } + }, + "cui__crossbeam-utils-0.8.16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-utils-0.8.16", + "sha256": "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-utils/0.8.16/download" + ], + "strip_prefix": "crossbeam-utils-0.8.16", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-utils-0.8.16.bazel" + } + }, + "cui__unic-segment-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-segment-0.9.0", + "sha256": "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-segment/0.9.0/download" + ], + "strip_prefix": "unic-segment-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-segment-0.9.0.bazel" + } + }, + "cui__regex-automata-0.4.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__regex-automata-0.4.3", + "sha256": "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-automata/0.4.3/download" + ], + "strip_prefix": "regex-automata-0.4.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.regex-automata-0.4.3.bazel" + } + }, + "rules_rust_prost__prettyplease-0.1.25": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__prettyplease-0.1.25", + "sha256": "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prettyplease/0.1.25/download" + ], + "strip_prefix": "prettyplease-0.1.25", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.prettyplease-0.1.25.bazel" + } + }, + "rules_rust_wasm_bindgen__filetime-0.2.21": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__filetime-0.2.21", + "sha256": "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/filetime/0.2.21/download" + ], + "strip_prefix": "filetime-0.2.21", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.filetime-0.2.21.bazel" + } + }, + "cui__toml-0.7.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__toml-0.7.6", + "sha256": "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/toml/0.7.6/download" + ], + "strip_prefix": "toml-0.7.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.toml-0.7.6.bazel" + } + }, + "rules_rust_prost__tempfile-3.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tempfile-3.6.0", + "sha256": "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tempfile/3.6.0/download" + ], + "strip_prefix": "tempfile-3.6.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tempfile-3.6.0.bazel" + } + }, + "rules_rust_prost__tokio-stream-0.1.14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tokio-stream-0.1.14", + "sha256": "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tokio-stream/0.1.14/download" + ], + "strip_prefix": "tokio-stream-0.1.14", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tokio-stream-0.1.14.bazel" + } + }, + "rules_rust_prost__windows-targets-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows-targets-0.48.0", + "sha256": "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-targets/0.48.0/download" + ], + "strip_prefix": "windows-targets-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows-targets-0.48.0.bazel" + } + }, + "cui__unic-ucd-segment-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-ucd-segment-0.9.0", + "sha256": "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-ucd-segment/0.9.0/download" + ], + "strip_prefix": "unic-ucd-segment-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-ucd-segment-0.9.0.bazel" + } + }, + "rules_rust_prost__petgraph-0.6.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__petgraph-0.6.3", + "sha256": "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/petgraph/0.6.3/download" + ], + "strip_prefix": "petgraph-0.6.3", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.petgraph-0.6.3.bazel" + } + }, + "rules_rust_wasm_bindgen__android-tzdata-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__android-tzdata-0.1.1", + "sha256": "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/android-tzdata/0.1.1/download" + ], + "strip_prefix": "android-tzdata-0.1.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.android-tzdata-0.1.1.bazel" + } + }, + "generated_inputs_in_external_repo": { + "bzlFile": "@@rules_rust~0.40.0//test/generated_inputs:external_repo.bzl", + "ruleClassName": "_generated_inputs_in_external_repo", + "attributes": { + "name": "rules_rust~0.40.0~i~generated_inputs_in_external_repo" + } + }, + "cui__gix-submodule-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-submodule-0.4.0", + "sha256": "dd0150e82e9282d3f2ab2dd57a22f9f6c3447b9d9856e5321ac92d38e3e0e2b7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-submodule/0.4.0/download" + ], + "strip_prefix": "gix-submodule-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-submodule-0.4.0.bazel" + } + }, + "cui__serde_spanned-0.6.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__serde_spanned-0.6.5", + "sha256": "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_spanned/0.6.5/download" + ], + "strip_prefix": "serde_spanned-0.6.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.serde_spanned-0.6.5.bazel" + } + }, + "cui__gix-revwalk-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-revwalk-0.8.0", + "sha256": "e9870c6b1032f2084567710c3b2106ac603377f8d25766b8a6b7c33e6e3ca279", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-revwalk/0.8.0/download" + ], + "strip_prefix": "gix-revwalk-0.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-revwalk-0.8.0.bazel" + } + }, + "rules_rust_wasm_bindgen__windows-targets-0.48.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows-targets-0.48.1", + "sha256": "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows-targets/0.48.1/download" + ], + "strip_prefix": "windows-targets-0.48.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows-targets-0.48.1.bazel" + } + }, + "rules_rust_prost__syn-1.0.109": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__syn-1.0.109", + "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/1.0.109/download" + ], + "strip_prefix": "syn-1.0.109", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.syn-1.0.109.bazel" + } + }, + "rules_rust_prost__mime-0.3.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__mime-0.3.17", + "sha256": "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/mime/0.3.17/download" + ], + "strip_prefix": "mime-0.3.17", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.mime-0.3.17.bazel" + } + }, + "cui__gix-quote-0.4.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-quote-0.4.7", + "sha256": "475c86a97dd0127ba4465fbb239abac9ea10e68301470c9791a6dd5351cdc905", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-quote/0.4.7/download" + ], + "strip_prefix": "gix-quote-0.4.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-quote-0.4.7.bazel" + } + }, + "rrra__linux-raw-sys-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__linux-raw-sys-0.3.8", + "sha256": "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download" + ], + "strip_prefix": "linux-raw-sys-0.3.8", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel" + } + }, + "cui__memmap2-0.7.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__memmap2-0.7.1", + "sha256": "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memmap2/0.7.1/download" + ], + "strip_prefix": "memmap2-0.7.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.memmap2-0.7.1.bazel" + } + }, + "cui__percent-encoding-2.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__percent-encoding-2.3.0", + "sha256": "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/percent-encoding/2.3.0/download" + ], + "strip_prefix": "percent-encoding-2.3.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.percent-encoding-2.3.0.bazel" + } + }, + "rules_rust_wasm_bindgen__hashbrown-0.14.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__hashbrown-0.14.0", + "sha256": "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hashbrown/0.14.0/download" + ], + "strip_prefix": "hashbrown-0.14.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.hashbrown-0.14.0.bazel" + } + }, + "rules_rust_wasm_bindgen__equivalent-1.0.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__equivalent-1.0.1", + "sha256": "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/equivalent/1.0.1/download" + ], + "strip_prefix": "equivalent-1.0.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.equivalent-1.0.1.bazel" + } + }, + "rules_rust_wasm_bindgen__fallible-iterator-0.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__fallible-iterator-0.2.0", + "sha256": "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/fallible-iterator/0.2.0/download" + ], + "strip_prefix": "fallible-iterator-0.2.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.fallible-iterator-0.2.0.bazel" + } + }, + "cui__toml_datetime-0.6.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__toml_datetime-0.6.5", + "sha256": "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/toml_datetime/0.6.5/download" + ], + "strip_prefix": "toml_datetime-0.6.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.toml_datetime-0.6.5.bazel" + } + }, + "cui__pest_derive-2.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pest_derive-2.7.0", + "sha256": "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pest_derive/2.7.0/download" + ], + "strip_prefix": "pest_derive-2.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pest_derive-2.7.0.bazel" + } + }, + "rules_rust_prost__once_cell-1.18.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__once_cell-1.18.0", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/once_cell/1.18.0/download" + ], + "strip_prefix": "once_cell-1.18.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.once_cell-1.18.0.bazel" + } + }, + "cui__tinyvec-1.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tinyvec-1.6.0", + "sha256": "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tinyvec/1.6.0/download" + ], + "strip_prefix": "tinyvec-1.6.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tinyvec-1.6.0.bazel" + } + }, + "cui__btoi-0.4.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__btoi-0.4.3", + "sha256": "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/btoi/0.4.3/download" + ], + "strip_prefix": "btoi-0.4.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.btoi-0.4.3.bazel" + } + }, + "rules_rust_prost__ppv-lite86-0.2.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__ppv-lite86-0.2.17", + "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download" + ], + "strip_prefix": "ppv-lite86-0.2.17", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.ppv-lite86-0.2.17.bazel" + } + }, + "rules_rust_prost__winapi-0.3.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__winapi-0.3.9", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi/0.3.9/download" + ], + "strip_prefix": "winapi-0.3.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.winapi-0.3.9.bazel" + } + }, + "cui__hermit-abi-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__hermit-abi-0.3.2", + "sha256": "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.3.2/download" + ], + "strip_prefix": "hermit-abi-0.3.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.hermit-abi-0.3.2.bazel" + } + }, + "rules_rust_wasm_bindgen__regex-syntax-0.7.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__regex-syntax-0.7.4", + "sha256": "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-syntax/0.7.4/download" + ], + "strip_prefix": "regex-syntax-0.7.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.regex-syntax-0.7.4.bazel" + } + }, + "rules_rust_bindgen__errno-dragonfly-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__errno-dragonfly-0.1.2", + "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download" + ], + "strip_prefix": "errno-dragonfly-0.1.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel" + } + }, + "rules_rust_wasm_bindgen__miniz_oxide-0.7.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__miniz_oxide-0.7.1", + "sha256": "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download" + ], + "strip_prefix": "miniz_oxide-0.7.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.miniz_oxide-0.7.1.bazel" + } + }, + "rules_rust_wasm_bindgen__winapi-util-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__winapi-util-0.1.5", + "sha256": "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-util/0.1.5/download" + ], + "strip_prefix": "winapi-util-0.1.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel" + } + }, + "rules_rust_bindgen__windows_x86_64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_x86_64_gnullvm-0.48.0", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_bindgen__syn-2.0.18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__syn-2.0.18", + "sha256": "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.18/download" + ], + "strip_prefix": "syn-2.0.18", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.syn-2.0.18.bazel" + } + }, + "rules_rust_bindgen__yansi-term-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__yansi-term-0.1.2", + "sha256": "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/yansi-term/0.1.2/download" + ], + "strip_prefix": "yansi-term-0.1.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.yansi-term-0.1.2.bazel" + } + }, + "cui__toml_edit-0.22.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__toml_edit-0.22.4", + "sha256": "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/toml_edit/0.22.4/download" + ], + "strip_prefix": "toml_edit-0.22.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.toml_edit-0.22.4.bazel" + } + }, + "cui__gix-utils-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-utils-0.1.5", + "sha256": "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-utils/0.1.5/download" + ], + "strip_prefix": "gix-utils-0.1.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-utils-0.1.5.bazel" + } + }, + "rules_rust_wasm_bindgen__unicase-2.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__unicase-2.6.0", + "sha256": "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicase/2.6.0/download" + ], + "strip_prefix": "unicase-2.6.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.unicase-2.6.0.bazel" + } + }, + "rules_rust_bindgen__windows_aarch64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_aarch64_msvc-0.48.0", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel" + } + }, + "rules_rust_bindgen__cc-1.0.79": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__cc-1.0.79", + "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.79/download" + ], + "strip_prefix": "cc-1.0.79", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.cc-1.0.79.bazel" + } + }, + "rrra__unicode-ident-1.0.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__unicode-ident-1.0.10", + "sha256": "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.10/download" + ], + "strip_prefix": "unicode-ident-1.0.10", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.unicode-ident-1.0.10.bazel" + } + }, + "cui__block-buffer-0.10.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__block-buffer-0.10.4", + "sha256": "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/block-buffer/0.10.4/download" + ], + "strip_prefix": "block-buffer-0.10.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.block-buffer-0.10.4.bazel" + } + }, + "cui__clap_lex-0.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__clap_lex-0.5.0", + "sha256": "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/clap_lex/0.5.0/download" + ], + "strip_prefix": "clap_lex-0.5.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel" + } + }, + "cui__indexmap-2.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__indexmap-2.1.0", + "sha256": "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/indexmap/2.1.0/download" + ], + "strip_prefix": "indexmap-2.1.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.indexmap-2.1.0.bazel" + } + }, + "cui__hex-0.4.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__hex-0.4.3", + "sha256": "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hex/0.4.3/download" + ], + "strip_prefix": "hex-0.4.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.hex-0.4.3.bazel" + } + }, + "rules_rust_prost__quote-1.0.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__quote-1.0.28", + "sha256": "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/quote/1.0.28/download" + ], + "strip_prefix": "quote-1.0.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.quote-1.0.28.bazel" + } + }, + "rules_rust_wasm_bindgen__windows-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__windows-0.48.0", + "sha256": "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows/0.48.0/download" + ], + "strip_prefix": "windows-0.48.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.windows-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__unicode-normalization-0.1.22": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__unicode-normalization-0.1.22", + "sha256": "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download" + ], + "strip_prefix": "unicode-normalization-0.1.22", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.unicode-normalization-0.1.22.bazel" + } + }, + "cui__chrono-tz-build-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__chrono-tz-build-0.2.1", + "sha256": "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/chrono-tz-build/0.2.1/download" + ], + "strip_prefix": "chrono-tz-build-0.2.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.chrono-tz-build-0.2.1.bazel" + } + }, + "cui__gix-bitmap-0.2.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-bitmap-0.2.7", + "sha256": "0ccab4bc576844ddb51b78d81b4a42d73e6229660fa614dfc3d3999c874d1959", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-bitmap/0.2.7/download" + ], + "strip_prefix": "gix-bitmap-0.2.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-bitmap-0.2.7.bazel" + } + }, + "cargo_bazel.buildifier-linux-arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_rust~0.40.0~i~cargo_bazel.buildifier-linux-arm64", + "urls": [ + "https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier-linux-arm64" + ], + "sha256": "c657c628fca72b7e0446f1a542231722a10ba4321597bd6f6249a5da6060b6ff", + "downloaded_file_path": "buildifier.exe", + "executable": true + } + }, + "rules_rust_wasm_bindgen__anyhow-1.0.71": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__anyhow-1.0.71", + "sha256": "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anyhow/1.0.71/download" + ], + "strip_prefix": "anyhow-1.0.71", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.anyhow-1.0.71.bazel" + } + }, + "rules_rust_bindgen__memchr-2.5.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__memchr-2.5.0", + "sha256": "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memchr/2.5.0/download" + ], + "strip_prefix": "memchr-2.5.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.memchr-2.5.0.bazel" + } + }, + "cui__gix-pathspec-0.3.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-pathspec-0.3.0", + "sha256": "c3e26c9b47c51be73f98d38c84494bd5fb99334c5d6fda14ef5d036d50a9e5fd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-pathspec/0.3.0/download" + ], + "strip_prefix": "gix-pathspec-0.3.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-pathspec-0.3.0.bazel" + } + }, + "rrra__libc-0.2.147": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__libc-0.2.147", + "sha256": "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libc/0.2.147/download" + ], + "strip_prefix": "libc-0.2.147", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.libc-0.2.147.bazel" + } + }, + "rules_rust_prost__parking_lot_core-0.9.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__parking_lot_core-0.9.8", + "sha256": "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/parking_lot_core/0.9.8/download" + ], + "strip_prefix": "parking_lot_core-0.9.8", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.parking_lot_core-0.9.8.bazel" + } + }, + "rules_rust_wasm_bindgen__base64-0.21.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__base64-0.21.5", + "sha256": "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/base64/0.21.5/download" + ], + "strip_prefix": "base64-0.21.5", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.base64-0.21.5.bazel" + } + }, + "cui__tracing-attributes-0.1.27": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tracing-attributes-0.1.27", + "sha256": "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-attributes/0.1.27/download" + ], + "strip_prefix": "tracing-attributes-0.1.27", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tracing-attributes-0.1.27.bazel" + } + }, + "cui__iana-time-zone-0.1.57": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__iana-time-zone-0.1.57", + "sha256": "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/iana-time-zone/0.1.57/download" + ], + "strip_prefix": "iana-time-zone-0.1.57", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.iana-time-zone-0.1.57.bazel" + } + }, + "cui__toml_edit-0.19.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__toml_edit-0.19.13", + "sha256": "5f8751d9c1b03c6500c387e96f81f815a4f8e72d142d2d4a9ffa6fedd51ddee7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/toml_edit/0.19.13/download" + ], + "strip_prefix": "toml_edit-0.19.13", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.toml_edit-0.19.13.bazel" + } + }, + "rules_rust_prost__matchit-0.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__matchit-0.7.0", + "sha256": "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/matchit/0.7.0/download" + ], + "strip_prefix": "matchit-0.7.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.matchit-0.7.0.bazel" + } + }, + "rules_rust_test_load_arbitrary_tool": { + "bzlFile": "@@rules_rust~0.40.0//test/load_arbitrary_tool:load_arbitrary_tool_test.bzl", + "ruleClassName": "_load_arbitrary_tool_test", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_test_load_arbitrary_tool" + } + }, + "rules_rust_prost__tokio-1.28.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tokio-1.28.2", + "sha256": "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tokio/1.28.2/download" + ], + "strip_prefix": "tokio-1.28.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tokio-1.28.2.bazel" + } + }, + "rules_rust_wasm_bindgen__chunked_transfer-1.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__chunked_transfer-1.4.1", + "sha256": "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/chunked_transfer/1.4.1/download" + ], + "strip_prefix": "chunked_transfer-1.4.1", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.chunked_transfer-1.4.1.bazel" + } + }, + "cui__gix-chunk-0.4.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-chunk-0.4.4", + "sha256": "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-chunk/0.4.4/download" + ], + "strip_prefix": "gix-chunk-0.4.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-chunk-0.4.4.bazel" + } + }, + "rules_rust_prost__sync_wrapper-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__sync_wrapper-0.1.2", + "sha256": "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download" + ], + "strip_prefix": "sync_wrapper-0.1.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.sync_wrapper-0.1.2.bazel" + } + }, + "cui__idna-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__idna-0.4.0", + "sha256": "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/idna/0.4.0/download" + ], + "strip_prefix": "idna-0.4.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.idna-0.4.0.bazel" + } + }, + "cui__tinyvec_macros-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tinyvec_macros-0.1.1", + "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download" + ], + "strip_prefix": "tinyvec_macros-0.1.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tinyvec_macros-0.1.1.bazel" + } + }, + "cui__wasm-bindgen-macro-support-0.2.87": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__wasm-bindgen-macro-support-0.2.87", + "sha256": "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.87/download" + ], + "strip_prefix": "wasm-bindgen-macro-support-0.2.87", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.wasm-bindgen-macro-support-0.2.87.bazel" + } + }, + "rrra__windows_i686_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_i686_gnu-0.48.0", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download" + ], + "strip_prefix": "windows_i686_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__errno-dragonfly-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__errno-dragonfly-0.1.2", + "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download" + ], + "strip_prefix": "errno-dragonfly-0.1.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel" + } + }, + "rules_rust_prost__hyper-timeout-0.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__hyper-timeout-0.4.1", + "sha256": "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hyper-timeout/0.4.1/download" + ], + "strip_prefix": "hyper-timeout-0.4.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.hyper-timeout-0.4.1.bazel" + } + }, + "rules_rust_bindgen__rustc-hash-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__rustc-hash-1.1.0", + "sha256": "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustc-hash/1.1.0/download" + ], + "strip_prefix": "rustc-hash-1.1.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.rustc-hash-1.1.0.bazel" + } + }, + "cui__unic-char-property-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-char-property-0.9.0", + "sha256": "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-char-property/0.9.0/download" + ], + "strip_prefix": "unic-char-property-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-char-property-0.9.0.bazel" + } + }, + "rules_rust_wasm_bindgen__sha1_smol-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__sha1_smol-1.0.0", + "sha256": "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sha1_smol/1.0.0/download" + ], + "strip_prefix": "sha1_smol-1.0.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.sha1_smol-1.0.0.bazel" + } + }, + "rules_rust_prost__http-0.2.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__http-0.2.9", + "sha256": "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/http/0.2.9/download" + ], + "strip_prefix": "http-0.2.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.http-0.2.9.bazel" + } + }, + "cui__crossbeam-epoch-0.9.15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-epoch-0.9.15", + "sha256": "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-epoch/0.9.15/download" + ], + "strip_prefix": "crossbeam-epoch-0.9.15", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-epoch-0.9.15.bazel" + } + }, + "cui__siphasher-0.3.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__siphasher-0.3.10", + "sha256": "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/siphasher/0.3.10/download" + ], + "strip_prefix": "siphasher-0.3.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.siphasher-0.3.10.bazel" + } + }, + "cui__tracing-0.1.40": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__tracing-0.1.40", + "sha256": "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing/0.1.40/download" + ], + "strip_prefix": "tracing-0.1.40", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.tracing-0.1.40.bazel" + } + }, + "rules_rust_wasm_bindgen__syn-2.0.25": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__syn-2.0.25", + "sha256": "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.25/download" + ], + "strip_prefix": "syn-2.0.25", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.syn-2.0.25.bazel" + } + }, + "rules_rust_wasm_bindgen__version_check-0.9.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__version_check-0.9.4", + "sha256": "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/version_check/0.9.4/download" + ], + "strip_prefix": "version_check-0.9.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.version_check-0.9.4.bazel" + } + }, + "cui__gix-config-value-0.14.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-config-value-0.14.0", + "sha256": "ea7505b97f4d8e7933e29735a568ba2f86d8de466669d9f0e8321384f9972f47", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-config-value/0.14.0/download" + ], + "strip_prefix": "gix-config-value-0.14.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-config-value-0.14.0.bazel" + } + }, + "rrra__is-terminal-0.4.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__is-terminal-0.4.7", + "sha256": "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/is-terminal/0.4.7/download" + ], + "strip_prefix": "is-terminal-0.4.7", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel" + } + }, + "rules_rust_wasm_bindgen__chrono-0.4.26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__chrono-0.4.26", + "sha256": "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/chrono/0.4.26/download" + ], + "strip_prefix": "chrono-0.4.26", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.chrono-0.4.26.bazel" + } + }, + "rrra__errno-dragonfly-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__errno-dragonfly-0.1.2", + "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download" + ], + "strip_prefix": "errno-dragonfly-0.1.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel" + } + }, + "rules_rust_wasm_bindgen__instant-0.1.12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__instant-0.1.12", + "sha256": "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/instant/0.1.12/download" + ], + "strip_prefix": "instant-0.1.12", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.instant-0.1.12.bazel" + } + }, + "cui__same-file-1.0.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__same-file-1.0.6", + "sha256": "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/same-file/1.0.6/download" + ], + "strip_prefix": "same-file-1.0.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.same-file-1.0.6.bazel" + } + }, + "rules_rust_wasm_bindgen__regex-automata-0.1.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__regex-automata-0.1.10", + "sha256": "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-automata/0.1.10/download" + ], + "strip_prefix": "regex-automata-0.1.10", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.regex-automata-0.1.10.bazel" + } + }, + "cui__linux-raw-sys-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__linux-raw-sys-0.3.8", + "sha256": "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download" + ], + "strip_prefix": "linux-raw-sys-0.3.8", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel" + } + }, + "rules_rust_bindgen__termcolor-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__termcolor-1.2.0", + "sha256": "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/termcolor/1.2.0/download" + ], + "strip_prefix": "termcolor-1.2.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.termcolor-1.2.0.bazel" + } + }, + "rrra__hermit-abi-0.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__hermit-abi-0.3.2", + "sha256": "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hermit-abi/0.3.2/download" + ], + "strip_prefix": "hermit-abi-0.3.2", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.hermit-abi-0.3.2.bazel" + } + }, + "rules_rust_bindgen__strsim-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__strsim-0.10.0", + "sha256": "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/strsim/0.10.0/download" + ], + "strip_prefix": "strsim-0.10.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.strsim-0.10.0.bazel" + } + }, + "rules_rust_wasm_bindgen__rand_core-0.6.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rand_core-0.6.4", + "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand_core/0.6.4/download" + ], + "strip_prefix": "rand_core-0.6.4", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rand_core-0.6.4.bazel" + } + }, + "cui__crossbeam-channel-0.5.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crossbeam-channel-0.5.8", + "sha256": "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-channel/0.5.8/download" + ], + "strip_prefix": "crossbeam-channel-0.5.8", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crossbeam-channel-0.5.8.bazel" + } + }, + "cui__arrayvec-0.7.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__arrayvec-0.7.4", + "sha256": "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/arrayvec/0.7.4/download" + ], + "strip_prefix": "arrayvec-0.7.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.arrayvec-0.7.4.bazel" + } + }, + "cui__cc-1.0.79": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__cc-1.0.79", + "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cc/1.0.79/download" + ], + "strip_prefix": "cc-1.0.79", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.cc-1.0.79.bazel" + } + }, + "rules_rust_prost__rand-0.8.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__rand-0.8.5", + "sha256": "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rand/0.8.5/download" + ], + "strip_prefix": "rand-0.8.5", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.rand-0.8.5.bazel" + } + }, + "cui__gix-validate-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-validate-0.8.0", + "sha256": "e05cab2b03a45b866156e052aa38619f4ece4adcb2f79978bfc249bc3b21b8c5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-validate/0.8.0/download" + ], + "strip_prefix": "gix-validate-0.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-validate-0.8.0.bazel" + } + }, + "rules_rust_prost__anyhow-1.0.71": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__anyhow-1.0.71", + "sha256": "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anyhow/1.0.71/download" + ], + "strip_prefix": "anyhow-1.0.71", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.anyhow-1.0.71.bazel" + } + }, + "rules_rust_prost__errno-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__errno-0.3.1", + "sha256": "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno/0.3.1/download" + ], + "strip_prefix": "errno-0.3.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.errno-0.3.1.bazel" + } + }, + "cui__is-terminal-0.4.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__is-terminal-0.4.7", + "sha256": "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/is-terminal/0.4.7/download" + ], + "strip_prefix": "is-terminal-0.4.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel" + } + }, + "cui__unicode-width-0.1.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-width-0.1.10", + "sha256": "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-width/0.1.10/download" + ], + "strip_prefix": "unicode-width-0.1.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-width-0.1.10.bazel" + } + }, + "rules_rust_wasm_bindgen__js-sys-0.3.64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__js-sys-0.3.64", + "sha256": "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/js-sys/0.3.64/download" + ], + "strip_prefix": "js-sys-0.3.64", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.js-sys-0.3.64.bazel" + } + }, + "rrra__humantime-2.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__humantime-2.1.0", + "sha256": "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/humantime/2.1.0/download" + ], + "strip_prefix": "humantime-2.1.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.humantime-2.1.0.bazel" + } + }, + "rules_rust_wasm_bindgen__libc-0.2.150": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__libc-0.2.150", + "sha256": "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libc/0.2.150/download" + ], + "strip_prefix": "libc-0.2.150", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.libc-0.2.150.bazel" + } + }, + "rules_rust_bindgen__env_logger-0.10.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__env_logger-0.10.0", + "sha256": "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/env_logger/0.10.0/download" + ], + "strip_prefix": "env_logger-0.10.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.env_logger-0.10.0.bazel" + } + }, + "rules_rust_wasm_bindgen__time-0.3.23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__time-0.3.23", + "sha256": "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/time/0.3.23/download" + ], + "strip_prefix": "time-0.3.23", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.time-0.3.23.bazel" + } + }, + "cui__toml-0.8.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__toml-0.8.10", + "sha256": "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/toml/0.8.10/download" + ], + "strip_prefix": "toml-0.8.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.toml-0.8.10.bazel" + } + }, + "rules_rust_prost__tracing-attributes-0.1.26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tracing-attributes-0.1.26", + "sha256": "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tracing-attributes/0.1.26/download" + ], + "strip_prefix": "tracing-attributes-0.1.26", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tracing-attributes-0.1.26.bazel" + } + }, + "rules_rust_prost__instant-0.1.12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__instant-0.1.12", + "sha256": "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/instant/0.1.12/download" + ], + "strip_prefix": "instant-0.1.12", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.instant-0.1.12.bazel" + } + }, + "cui__gix-transport-0.37.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-transport-0.37.0", + "sha256": "b9ec726e6a245e68ace59a34126a1d679de60360676612985e70b0d3b102fb4e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-transport/0.37.0/download" + ], + "strip_prefix": "gix-transport-0.37.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-transport-0.37.0.bazel" + } + }, + "rules_rust_wasm_bindgen__indexmap-2.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__indexmap-2.0.0", + "sha256": "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/indexmap/2.0.0/download" + ], + "strip_prefix": "indexmap-2.0.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.indexmap-2.0.0.bazel" + } + }, + "cui__windows_i686_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows_i686_gnu-0.48.0", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download" + ], + "strip_prefix": "windows_i686_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel" + } + }, + "rrra__proc-macro2-1.0.64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__proc-macro2-1.0.64", + "sha256": "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/proc-macro2/1.0.64/download" + ], + "strip_prefix": "proc-macro2-1.0.64", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.proc-macro2-1.0.64.bazel" + } + }, + "rules_rust_wasm_bindgen__predicates-tree-1.0.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__predicates-tree-1.0.9", + "sha256": "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/predicates-tree/1.0.9/download" + ], + "strip_prefix": "predicates-tree-1.0.9", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.predicates-tree-1.0.9.bazel" + } + }, + "rrra__errno-0.3.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__errno-0.3.1", + "sha256": "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/errno/0.3.1/download" + ], + "strip_prefix": "errno-0.3.1", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.errno-0.3.1.bazel" + } + }, + "cui__num_threads-0.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__num_threads-0.1.6", + "sha256": "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/num_threads/0.1.6/download" + ], + "strip_prefix": "num_threads-0.1.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.num_threads-0.1.6.bazel" + } + }, + "rules_rust_prost__pin-project-internal-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__pin-project-internal-1.1.0", + "sha256": "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pin-project-internal/1.1.0/download" + ], + "strip_prefix": "pin-project-internal-1.1.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.pin-project-internal-1.1.0.bazel" + } + }, + "cui__rustc-hash-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__rustc-hash-1.1.0", + "sha256": "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rustc-hash/1.1.0/download" + ], + "strip_prefix": "rustc-hash-1.1.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.rustc-hash-1.1.0.bazel" + } + }, + "cui__sharded-slab-0.1.7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__sharded-slab-0.1.7", + "sha256": "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/sharded-slab/0.1.7/download" + ], + "strip_prefix": "sharded-slab-0.1.7", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.sharded-slab-0.1.7.bazel" + } + }, + "rrra__itoa-1.0.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__itoa-1.0.8", + "sha256": "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itoa/1.0.8/download" + ], + "strip_prefix": "itoa-1.0.8", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.itoa-1.0.8.bazel" + } + }, + "cui__arc-swap-1.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__arc-swap-1.6.0", + "sha256": "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/arc-swap/1.6.0/download" + ], + "strip_prefix": "arc-swap-1.6.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.arc-swap-1.6.0.bazel" + } + }, + "rules_rust_wasm_bindgen__webpki-roots-0.25.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__webpki-roots-0.25.2", + "sha256": "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/webpki-roots/0.25.2/download" + ], + "strip_prefix": "webpki-roots-0.25.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.webpki-roots-0.25.2.bazel" + } + }, + "cui__form_urlencoded-1.2.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__form_urlencoded-1.2.0", + "sha256": "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/form_urlencoded/1.2.0/download" + ], + "strip_prefix": "form_urlencoded-1.2.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.form_urlencoded-1.2.0.bazel" + } + }, + "cui__gix-features-0.35.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-features-0.35.0", + "sha256": "9b9ff423ae4983f762659040d13dd7a5defbd54b6a04ac3cc7347741cec828cd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-features/0.35.0/download" + ], + "strip_prefix": "gix-features-0.35.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-features-0.35.0.bazel" + } + }, + "cui__gix-commitgraph-0.21.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-commitgraph-0.21.0", + "sha256": "e75a975ee22cf0a002bfe9b5d5cb3d2a88e263a8a178cd7509133cff10f4df8a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-commitgraph/0.21.0/download" + ], + "strip_prefix": "gix-commitgraph-0.21.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-commitgraph-0.21.0.bazel" + } + }, + "cui__lock_api-0.4.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__lock_api-0.4.11", + "sha256": "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/lock_api/0.4.11/download" + ], + "strip_prefix": "lock_api-0.4.11", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.lock_api-0.4.11.bazel" + } + }, + "rrra__serde_json-1.0.102": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__serde_json-1.0.102", + "sha256": "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_json/1.0.102/download" + ], + "strip_prefix": "serde_json-1.0.102", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.serde_json-1.0.102.bazel" + } + }, + "rules_rust_prost__tonic-build-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tonic-build-0.8.4", + "sha256": "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tonic-build/0.8.4/download" + ], + "strip_prefix": "tonic-build-0.8.4", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tonic-build-0.8.4.bazel" + } + }, + "rules_rust_wasm_bindgen__rouille-3.6.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rouille-3.6.2", + "sha256": "3716fbf57fc1084d7a706adf4e445298d123e4a44294c4e8213caf1b85fcc921", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rouille/3.6.2/download" + ], + "strip_prefix": "rouille-3.6.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rouille-3.6.2.bazel" + } + }, + "cui__android-tzdata-0.1.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__android-tzdata-0.1.1", + "sha256": "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/android-tzdata/0.1.1/download" + ], + "strip_prefix": "android-tzdata-0.1.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.android-tzdata-0.1.1.bazel" + } + }, + "rules_rust_wasm_bindgen__winapi-i686-pc-windows-gnu-0.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__winapi-i686-pc-windows-gnu-0.4.0", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download" + ], + "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel" + } + }, + "cui__anyhow-1.0.75": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__anyhow-1.0.75", + "sha256": "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/anyhow/1.0.75/download" + ], + "strip_prefix": "anyhow-1.0.75", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.anyhow-1.0.75.bazel" + } + }, + "rules_rust_prost__futures-task-0.3.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__futures-task-0.3.28", + "sha256": "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/futures-task/0.3.28/download" + ], + "strip_prefix": "futures-task-0.3.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.futures-task-0.3.28.bazel" + } + }, + "rules_rust_wasm_bindgen__url-2.4.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__url-2.4.0", + "sha256": "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/url/2.4.0/download" + ], + "strip_prefix": "url-2.4.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.url-2.4.0.bazel" + } + }, + "cui__uluru-3.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__uluru-3.0.0", + "sha256": "794a32261a1f5eb6a4462c81b59cec87b5c27d5deea7dd1ac8fc781c41d226db", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/uluru/3.0.0/download" + ], + "strip_prefix": "uluru-3.0.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.uluru-3.0.0.bazel" + } + }, + "rules_rust_wasm_bindgen__syn-1.0.109": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__syn-1.0.109", + "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/1.0.109/download" + ], + "strip_prefix": "syn-1.0.109", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.syn-1.0.109.bazel" + } + }, + "cui__serde-1.0.190": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__serde-1.0.190", + "sha256": "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde/1.0.190/download" + ], + "strip_prefix": "serde-1.0.190", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.serde-1.0.190.bazel" + } + }, + "rules_rust_prost__socket2-0.4.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__socket2-0.4.9", + "sha256": "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/socket2/0.4.9/download" + ], + "strip_prefix": "socket2-0.4.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.socket2-0.4.9.bazel" + } + }, + "rules_rust_wasm_bindgen__ascii-1.1.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ascii-1.1.0", + "sha256": "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/ascii/1.1.0/download" + ], + "strip_prefix": "ascii-1.1.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.ascii-1.1.0.bazel" + } + }, + "rules_rust_prost__prost-types-0.11.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__prost-types-0.11.9", + "sha256": "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prost-types/0.11.9/download" + ], + "strip_prefix": "prost-types-0.11.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.prost-types-0.11.9.bazel" + } + }, + "rules_rust_wasm_bindgen__bstr-0.2.17": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__bstr-0.2.17", + "sha256": "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bstr/0.2.17/download" + ], + "strip_prefix": "bstr-0.2.17", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.bstr-0.2.17.bazel" + } + }, + "rules_rust_prost__futures-sink-0.3.28": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__futures-sink-0.3.28", + "sha256": "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/futures-sink/0.3.28/download" + ], + "strip_prefix": "futures-sink-0.3.28", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.futures-sink-0.3.28.bazel" + } + }, + "rules_rust_prost__unicode-ident-1.0.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__unicode-ident-1.0.9", + "sha256": "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.9/download" + ], + "strip_prefix": "unicode-ident-1.0.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.unicode-ident-1.0.9.bazel" + } + }, + "cui__aho-corasick-1.0.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__aho-corasick-1.0.2", + "sha256": "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/aho-corasick/1.0.2/download" + ], + "strip_prefix": "aho-corasick-1.0.2", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel" + } + }, + "cui__libc-0.2.149": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__libc-0.2.149", + "sha256": "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libc/0.2.149/download" + ], + "strip_prefix": "libc-0.2.149", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.libc-0.2.149.bazel" + } + }, + "rules_rust_wasm_bindgen__tinyvec-1.6.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__tinyvec-1.6.0", + "sha256": "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tinyvec/1.6.0/download" + ], + "strip_prefix": "tinyvec-1.6.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.tinyvec-1.6.0.bazel" + } + }, + "cui__unicode-linebreak-0.1.5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-linebreak-0.1.5", + "sha256": "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-linebreak/0.1.5/download" + ], + "strip_prefix": "unicode-linebreak-0.1.5", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-linebreak-0.1.5.bazel" + } + }, + "rules_rust_bindgen__windows_x86_64_msvc-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_x86_64_msvc-0.48.0", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_msvc-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel" + } + }, + "rrra__itertools-0.11.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__itertools-0.11.0", + "sha256": "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itertools/0.11.0/download" + ], + "strip_prefix": "itertools-0.11.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.itertools-0.11.0.bazel" + } + }, + "rules_rust_bindgen__regex-1.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__regex-1.8.4", + "sha256": "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex/1.8.4/download" + ], + "strip_prefix": "regex-1.8.4", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.regex-1.8.4.bazel" + } + }, + "cui__hashbrown-0.14.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__hashbrown-0.14.3", + "sha256": "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/hashbrown/0.14.3/download" + ], + "strip_prefix": "hashbrown-0.14.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.hashbrown-0.14.3.bazel" + } + }, + "cui__crypto-common-0.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__crypto-common-0.1.6", + "sha256": "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crypto-common/0.1.6/download" + ], + "strip_prefix": "crypto-common-0.1.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.crypto-common-0.1.6.bazel" + } + }, + "rrra__windows_x86_64_gnu-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_x86_64_gnu-0.48.0", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnu-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel" + } + }, + "cui__winnow-0.5.18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__winnow-0.5.18", + "sha256": "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/winnow/0.5.18/download" + ], + "strip_prefix": "winnow-0.5.18", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.winnow-0.5.18.bazel" + } + }, + "cui__byteyarn-0.2.3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__byteyarn-0.2.3", + "sha256": "a7534301c0ea17abb4db06d75efc7b4b0fa360fce8e175a4330d721c71c942ff", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/byteyarn/0.2.3/download" + ], + "strip_prefix": "byteyarn-0.2.3", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.byteyarn-0.2.3.bazel" + } + }, + "rules_rust_wasm_bindgen__crossbeam-utils-0.8.16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__crossbeam-utils-0.8.16", + "sha256": "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/crossbeam-utils/0.8.16/download" + ], + "strip_prefix": "crossbeam-utils-0.8.16", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-utils-0.8.16.bazel" + } + }, + "cui__memchr-2.6.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__memchr-2.6.4", + "sha256": "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/memchr/2.6.4/download" + ], + "strip_prefix": "memchr-2.6.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.memchr-2.6.4.bazel" + } + }, + "rrra__serde_derive-1.0.171": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__serde_derive-1.0.171", + "sha256": "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_derive/1.0.171/download" + ], + "strip_prefix": "serde_derive-1.0.171", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.serde_derive-1.0.171.bazel" + } + }, + "cui__bitflags-2.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__bitflags-2.4.1", + "sha256": "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/2.4.1/download" + ], + "strip_prefix": "bitflags-2.4.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.bitflags-2.4.1.bazel" + } + }, + "rules_rust_prost__io-lifetimes-1.0.11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__io-lifetimes-1.0.11", + "sha256": "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download" + ], + "strip_prefix": "io-lifetimes-1.0.11", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel" + } + }, + "rrra__windows_aarch64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rrra__windows_aarch64_gnullvm-0.48.0", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__itoa-1.0.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__itoa-1.0.6", + "sha256": "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itoa/1.0.6/download" + ], + "strip_prefix": "itoa-1.0.6", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.itoa-1.0.6.bazel" + } + }, + "rules_rust_wasm_bindgen__cfg-if-1.0.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__cfg-if-1.0.0", + "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/cfg-if/1.0.0/download" + ], + "strip_prefix": "cfg-if-1.0.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel" + } + }, + "rules_rust_prost__windows_x86_64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__windows_x86_64_gnullvm-0.48.0", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_x86_64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_prost__pin-project-lite-0.2.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__pin-project-lite-0.2.9", + "sha256": "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download" + ], + "strip_prefix": "pin-project-lite-0.2.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.pin-project-lite-0.2.9.bazel" + } + }, + "cui__gix-credentials-0.20.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-credentials-0.20.0", + "sha256": "46900b884cc5af6a6c141ee741607c0c651a4e1d33614b8d888a1ba81cc0bc8a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-credentials/0.20.0/download" + ], + "strip_prefix": "gix-credentials-0.20.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-credentials-0.20.0.bazel" + } + }, + "rules_rust_prost__syn-2.0.18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__syn-2.0.18", + "sha256": "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/syn/2.0.18/download" + ], + "strip_prefix": "syn-2.0.18", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.syn-2.0.18.bazel" + } + }, + "rules_rust_prost__linux-raw-sys-0.3.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__linux-raw-sys-0.3.8", + "sha256": "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download" + ], + "strip_prefix": "linux-raw-sys-0.3.8", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91", + "sha256": "806a045c4ec4ef7c3ad86dc27bcb641b84d9eeb3846200f56d7ab0885241d654", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-cli-support/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-cli-support-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-cli-support-0.2.91.bazel" + } + }, + "cui__serde_derive-1.0.190": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__serde_derive-1.0.190", + "sha256": "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde_derive/1.0.190/download" + ], + "strip_prefix": "serde_derive-1.0.190", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.serde_derive-1.0.190.bazel" + } + }, + "rules_rust_prost__regex-syntax-0.7.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__regex-syntax-0.7.2", + "sha256": "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/regex-syntax/0.7.2/download" + ], + "strip_prefix": "regex-syntax-0.7.2", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.regex-syntax-0.7.2.bazel" + } + }, + "rules_rust_wasm_bindgen__serde-1.0.171": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde-1.0.171", + "sha256": "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/serde/1.0.171/download" + ], + "strip_prefix": "serde-1.0.171", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.serde-1.0.171.bazel" + } + }, + "rules_rust_wasm_bindgen__wasm-bindgen-macro-0.2.91": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-macro-0.2.91", + "sha256": "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.91/download" + ], + "strip_prefix": "wasm-bindgen-macro-0.2.91", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-macro-0.2.91.bazel" + } + }, + "cui__pest_generator-2.7.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__pest_generator-2.7.0", + "sha256": "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/pest_generator/2.7.0/download" + ], + "strip_prefix": "pest_generator-2.7.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.pest_generator-2.7.0.bazel" + } + }, + "cui__chrono-tz-0.8.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__chrono-tz-0.8.4", + "sha256": "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/chrono-tz/0.8.4/download" + ], + "strip_prefix": "chrono-tz-0.8.4", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.chrono-tz-0.8.4.bazel" + } + }, + "cui__gix-revision-0.22.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-revision-0.22.0", + "sha256": "c8c4b15cf2ab7a35f5bcb3ef146187c8d36df0177e171ca061913cbaaa890e89", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-revision/0.22.0/download" + ], + "strip_prefix": "gix-revision-0.22.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-revision-0.22.0.bazel" + } + }, + "cui__camino-1.1.6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__camino-1.1.6", + "sha256": "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/camino/1.1.6/download" + ], + "strip_prefix": "camino-1.1.6", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.camino-1.1.6.bazel" + } + }, + "cross_x86_64-pc-windows-msvc": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cross_x86_64-pc-windows-msvc", + "urls": [ + "https://github.com/rust-embedded/cross/releases/download/v0.2.1/cross-v0.2.1-x86_64-pc-windows-msvc.tar.gz" + ], + "sha256": "3af59ff5a2229f92b54df937c50a9a88c96dffc8ac3dde520a38fdf046d656c4", + "build_file_content": "exports_files(glob([\"**\"]), visibility = [\"//visibility:public\"])" + } + }, + "rules_rust_prost__signal-hook-registry-1.4.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__signal-hook-registry-1.4.1", + "sha256": "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download" + ], + "strip_prefix": "signal-hook-registry-1.4.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.signal-hook-registry-1.4.1.bazel" + } + }, + "cui__gix-config-0.30.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-config-0.30.0", + "sha256": "c171514b40487d3f677ae37efc0f45ac980e3169f23c27eb30a70b47fdf88ab5", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-config/0.30.0/download" + ], + "strip_prefix": "gix-config-0.30.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-config-0.30.0.bazel" + } + }, + "cui__unicode-ident-1.0.10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unicode-ident-1.0.10", + "sha256": "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unicode-ident/1.0.10/download" + ], + "strip_prefix": "unicode-ident-1.0.10", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unicode-ident-1.0.10.bazel" + } + }, + "rules_rust_prost__heck": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__heck", + "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/heck/0.4.1/download" + ], + "strip_prefix": "heck-0.4.1", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.heck-0.4.1.bazel" + } + }, + "rules_rust_prost__prost-build-0.11.9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__prost-build-0.11.9", + "sha256": "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/prost-build/0.11.9/download" + ], + "strip_prefix": "prost-build-0.11.9", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.prost-build-0.11.9.bazel" + } + }, + "cui__gix-discover-0.25.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-discover-0.25.0", + "sha256": "69507643d75a0ea9a402fcf73ced517d2b95cc95385904ac09d03e0b952fde33", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-discover/0.25.0/download" + ], + "strip_prefix": "gix-discover-0.25.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-discover-0.25.0.bazel" + } + }, + "cui__unic-common-0.9.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__unic-common-0.9.0", + "sha256": "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/unic-common/0.9.0/download" + ], + "strip_prefix": "unic-common-0.9.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.unic-common-0.9.0.bazel" + } + }, + "rules_rust_prost__tower-0.4.13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_prost__tower-0.4.13", + "sha256": "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/tower/0.4.13/download" + ], + "strip_prefix": "tower-0.4.13", + "build_file": "@@rules_rust~0.40.0//proto/prost/private/3rdparty/crates:BUILD.tower-0.4.13.bazel" + } + }, + "rules_rust_wasm_bindgen__itoa-1.0.8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__itoa-1.0.8", + "sha256": "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/itoa/1.0.8/download" + ], + "strip_prefix": "itoa-1.0.8", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.itoa-1.0.8.bazel" + } + }, + "rules_rust_bindgen__libloading-0.7.4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__libloading-0.7.4", + "sha256": "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/libloading/0.7.4/download" + ], + "strip_prefix": "libloading-0.7.4", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.libloading-0.7.4.bazel" + } + }, + "rules_rust_bindgen__windows_aarch64_gnullvm-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__windows_aarch64_gnullvm-0.48.0", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download" + ], + "strip_prefix": "windows_aarch64_gnullvm-0.48.0", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel" + } + }, + "rules_rust_wasm_bindgen__alloc-stdlib-0.2.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__alloc-stdlib-0.2.2", + "sha256": "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/alloc-stdlib/0.2.2/download" + ], + "strip_prefix": "alloc-stdlib-0.2.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.alloc-stdlib-0.2.2.bazel" + } + }, + "rules_rust_wasm_bindgen__bitflags-1.3.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__bitflags-1.3.2", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/bitflags/1.3.2/download" + ], + "strip_prefix": "bitflags-1.3.2", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.bitflags-1.3.2.bazel" + } + }, + "rules_rust_bindgen__peeking_take_while-0.1.2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_bindgen__peeking_take_while-0.1.2", + "sha256": "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download" + ], + "strip_prefix": "peeking_take_while-0.1.2", + "build_file": "@@rules_rust~0.40.0//bindgen/3rdparty/crates:BUILD.peeking_take_while-0.1.2.bazel" + } + }, + "cui__gix-ignore-0.8.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__gix-ignore-0.8.0", + "sha256": "b048f443a1f6b02da4205c34d2e287e3fd45d75e8e2f06cfb216630ea9bff5e3", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/gix-ignore/0.8.0/download" + ], + "strip_prefix": "gix-ignore-0.8.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.gix-ignore-0.8.0.bazel" + } + }, + "rules_rust_wasm_bindgen__rayon-core-1.11.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rayon-core-1.11.0", + "sha256": "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/rayon-core/1.11.0/download" + ], + "strip_prefix": "rayon-core-1.11.0", + "build_file": "@@rules_rust~0.40.0//wasm_bindgen/3rdparty/crates:BUILD.rayon-core-1.11.0.bazel" + } + }, + "cui__utf8parse-0.2.1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__utf8parse-0.2.1", + "sha256": "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/utf8parse/0.2.1/download" + ], + "strip_prefix": "utf8parse-0.2.1", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel" + } + }, + "cui__windows-0.48.0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_rust~0.40.0~i~cui__windows-0.48.0", + "sha256": "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f", + "type": "tar.gz", + "urls": [ + "https://crates.io/api/v1/crates/windows/0.48.0/download" + ], + "strip_prefix": "windows-0.48.0", + "build_file": "@@rules_rust~0.40.0//crate_universe/3rdparty/crates:BUILD.windows-0.48.0.bazel" + } + } + }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [ + "rules_rust_tinyjson", + "cui", + "cui__anyhow-1.0.75", + "cui__camino-1.1.6", + "cui__cargo-lock-9.0.0", + "cui__cargo-platform-0.1.4", + "cui__cargo_metadata-0.18.1", + "cui__cargo_toml-0.17.1", + "cui__cfg-expr-0.15.5", + "cui__clap-4.3.11", + "cui__crates-index-2.2.0", + "cui__hex-0.4.3", + "cui__indoc-2.0.4", + "cui__itertools-0.12.0", + "cui__normpath-1.1.1", + "cui__pathdiff-0.2.1", + "cui__regex-1.10.2", + "cui__semver-1.0.20", + "cui__serde-1.0.190", + "cui__serde_json-1.0.108", + "cui__serde_starlark-0.1.14", + "cui__sha2-0.10.8", + "cui__spdx-0.10.3", + "cui__tempfile-3.8.1", + "cui__tera-1.19.1", + "cui__textwrap-0.16.0", + "cui__toml-0.8.10", + "cui__tracing-0.1.40", + "cui__tracing-subscriber-0.3.17", + "cui__maplit-1.0.2", + "cui__spectral-0.6.0", + "cargo_bazel.buildifier-darwin-amd64", + "cargo_bazel.buildifier-darwin-arm64", + "cargo_bazel.buildifier-linux-amd64", + "cargo_bazel.buildifier-linux-arm64", + "cargo_bazel.buildifier-windows-amd64.exe", + "rules_rust_prost__heck", + "rules_rust_prost", + "rules_rust_prost__h2-0.3.19", + "rules_rust_prost__prost-0.11.9", + "rules_rust_prost__prost-types-0.11.9", + "rules_rust_prost__protoc-gen-prost-0.2.2", + "rules_rust_prost__protoc-gen-tonic-0.2.2", + "rules_rust_prost__tokio-1.28.2", + "rules_rust_prost__tokio-stream-0.1.14", + "rules_rust_prost__tonic-0.9.2", + "llvm-raw", + "rules_rust_bindgen__bindgen-cli-0.69.1", + "rules_rust_bindgen__bindgen-0.69.1", + "rules_rust_bindgen__clang-sys-1.6.1", + "rules_rust_bindgen__clap-4.3.3", + "rules_rust_bindgen__clap_complete-4.3.1", + "rules_rust_bindgen__env_logger-0.10.0", + "rrra__anyhow-1.0.71", + "rrra__clap-4.3.11", + "rrra__env_logger-0.10.0", + "rrra__itertools-0.11.0", + "rrra__log-0.4.19", + "rrra__serde-1.0.171", + "rrra__serde_json-1.0.102", + "rules_rust_wasm_bindgen_cli", + "rules_rust_wasm_bindgen__anyhow-1.0.71", + "rules_rust_wasm_bindgen__docopt-1.1.1", + "rules_rust_wasm_bindgen__env_logger-0.8.4", + "rules_rust_wasm_bindgen__log-0.4.19", + "rules_rust_wasm_bindgen__rouille-3.6.2", + "rules_rust_wasm_bindgen__serde-1.0.171", + "rules_rust_wasm_bindgen__serde_derive-1.0.171", + "rules_rust_wasm_bindgen__serde_json-1.0.102", + "rules_rust_wasm_bindgen__ureq-2.8.0", + "rules_rust_wasm_bindgen__walrus-0.20.3", + "rules_rust_wasm_bindgen__wasm-bindgen-0.2.91", + "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91", + "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91", + "rules_rust_wasm_bindgen__assert_cmd-1.0.8", + "rules_rust_wasm_bindgen__diff-0.1.13", + "rules_rust_wasm_bindgen__predicates-1.0.8", + "rules_rust_wasm_bindgen__rayon-1.7.0", + "rules_rust_wasm_bindgen__tempfile-3.6.0", + "rules_rust_wasm_bindgen__wasmparser-0.102.0", + "rules_rust_wasm_bindgen__wasmprinter-0.2.60", + "rules_rust_test_load_arbitrary_tool", + "generated_inputs_in_external_repo", + "libc", + "rules_rust_toolchain_test_target_json", + "com_google_googleapis", + "bazelci_rules" + ], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO" + }, + "recordedRepoMappingEntries": [ + [ + "rules_rust~0.40.0", + "bazel_skylib", + "bazel_skylib~1.5.0" + ], + [ + "rules_rust~0.40.0", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_rust~0.40.0", + "cui__anyhow-1.0.75", + "rules_rust~0.40.0~i~cui__anyhow-1.0.75" + ], + [ + "rules_rust~0.40.0", + "cui__camino-1.1.6", + "rules_rust~0.40.0~i~cui__camino-1.1.6" + ], + [ + "rules_rust~0.40.0", + "cui__cargo-lock-9.0.0", + "rules_rust~0.40.0~i~cui__cargo-lock-9.0.0" + ], + [ + "rules_rust~0.40.0", + "cui__cargo-platform-0.1.4", + "rules_rust~0.40.0~i~cui__cargo-platform-0.1.4" + ], + [ + "rules_rust~0.40.0", + "cui__cargo_metadata-0.18.1", + "rules_rust~0.40.0~i~cui__cargo_metadata-0.18.1" + ], + [ + "rules_rust~0.40.0", + "cui__cargo_toml-0.17.1", + "rules_rust~0.40.0~i~cui__cargo_toml-0.17.1" + ], + [ + "rules_rust~0.40.0", + "cui__cfg-expr-0.15.5", + "rules_rust~0.40.0~i~cui__cfg-expr-0.15.5" + ], + [ + "rules_rust~0.40.0", + "cui__clap-4.3.11", + "rules_rust~0.40.0~i~cui__clap-4.3.11" + ], + [ + "rules_rust~0.40.0", + "cui__crates-index-2.2.0", + "rules_rust~0.40.0~i~cui__crates-index-2.2.0" + ], + [ + "rules_rust~0.40.0", + "cui__hex-0.4.3", + "rules_rust~0.40.0~i~cui__hex-0.4.3" + ], + [ + "rules_rust~0.40.0", + "cui__indoc-2.0.4", + "rules_rust~0.40.0~i~cui__indoc-2.0.4" + ], + [ + "rules_rust~0.40.0", + "cui__itertools-0.12.0", + "rules_rust~0.40.0~i~cui__itertools-0.12.0" + ], + [ + "rules_rust~0.40.0", + "cui__maplit-1.0.2", + "rules_rust~0.40.0~i~cui__maplit-1.0.2" + ], + [ + "rules_rust~0.40.0", + "cui__normpath-1.1.1", + "rules_rust~0.40.0~i~cui__normpath-1.1.1" + ], + [ + "rules_rust~0.40.0", + "cui__pathdiff-0.2.1", + "rules_rust~0.40.0~i~cui__pathdiff-0.2.1" + ], + [ + "rules_rust~0.40.0", + "cui__regex-1.10.2", + "rules_rust~0.40.0~i~cui__regex-1.10.2" + ], + [ + "rules_rust~0.40.0", + "cui__semver-1.0.20", + "rules_rust~0.40.0~i~cui__semver-1.0.20" + ], + [ + "rules_rust~0.40.0", + "cui__serde-1.0.190", + "rules_rust~0.40.0~i~cui__serde-1.0.190" + ], + [ + "rules_rust~0.40.0", + "cui__serde_json-1.0.108", + "rules_rust~0.40.0~i~cui__serde_json-1.0.108" + ], + [ + "rules_rust~0.40.0", + "cui__serde_starlark-0.1.14", + "rules_rust~0.40.0~i~cui__serde_starlark-0.1.14" + ], + [ + "rules_rust~0.40.0", + "cui__sha2-0.10.8", + "rules_rust~0.40.0~i~cui__sha2-0.10.8" + ], + [ + "rules_rust~0.40.0", + "cui__spdx-0.10.3", + "rules_rust~0.40.0~i~cui__spdx-0.10.3" + ], + [ + "rules_rust~0.40.0", + "cui__spectral-0.6.0", + "rules_rust~0.40.0~i~cui__spectral-0.6.0" + ], + [ + "rules_rust~0.40.0", + "cui__tempfile-3.8.1", + "rules_rust~0.40.0~i~cui__tempfile-3.8.1" + ], + [ + "rules_rust~0.40.0", + "cui__tera-1.19.1", + "rules_rust~0.40.0~i~cui__tera-1.19.1" + ], + [ + "rules_rust~0.40.0", + "cui__textwrap-0.16.0", + "rules_rust~0.40.0~i~cui__textwrap-0.16.0" + ], + [ + "rules_rust~0.40.0", + "cui__toml-0.8.10", + "rules_rust~0.40.0~i~cui__toml-0.8.10" + ], + [ + "rules_rust~0.40.0", + "cui__tracing-0.1.40", + "rules_rust~0.40.0~i~cui__tracing-0.1.40" + ], + [ + "rules_rust~0.40.0", + "cui__tracing-subscriber-0.3.17", + "rules_rust~0.40.0~i~cui__tracing-subscriber-0.3.17" + ], + [ + "rules_rust~0.40.0", + "rrra__anyhow-1.0.71", + "rules_rust~0.40.0~i~rrra__anyhow-1.0.71" + ], + [ + "rules_rust~0.40.0", + "rrra__clap-4.3.11", + "rules_rust~0.40.0~i~rrra__clap-4.3.11" + ], + [ + "rules_rust~0.40.0", + "rrra__env_logger-0.10.0", + "rules_rust~0.40.0~i~rrra__env_logger-0.10.0" + ], + [ + "rules_rust~0.40.0", + "rrra__itertools-0.11.0", + "rules_rust~0.40.0~i~rrra__itertools-0.11.0" + ], + [ + "rules_rust~0.40.0", + "rrra__log-0.4.19", + "rules_rust~0.40.0~i~rrra__log-0.4.19" + ], + [ + "rules_rust~0.40.0", + "rrra__serde-1.0.171", + "rules_rust~0.40.0~i~rrra__serde-1.0.171" + ], + [ + "rules_rust~0.40.0", + "rrra__serde_json-1.0.102", + "rules_rust~0.40.0~i~rrra__serde_json-1.0.102" + ], + [ + "rules_rust~0.40.0", + "rules_rust", + "rules_rust~0.40.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_bindgen__bindgen-0.69.1", + "rules_rust~0.40.0~i~rules_rust_bindgen__bindgen-0.69.1" + ], + [ + "rules_rust~0.40.0", + "rules_rust_bindgen__clang-sys-1.6.1", + "rules_rust~0.40.0~i~rules_rust_bindgen__clang-sys-1.6.1" + ], + [ + "rules_rust~0.40.0", + "rules_rust_bindgen__clap-4.3.3", + "rules_rust~0.40.0~i~rules_rust_bindgen__clap-4.3.3" + ], + [ + "rules_rust~0.40.0", + "rules_rust_bindgen__clap_complete-4.3.1", + "rules_rust~0.40.0~i~rules_rust_bindgen__clap_complete-4.3.1" + ], + [ + "rules_rust~0.40.0", + "rules_rust_bindgen__env_logger-0.10.0", + "rules_rust~0.40.0~i~rules_rust_bindgen__env_logger-0.10.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__h2-0.3.19", + "rules_rust~0.40.0~i~rules_rust_prost__h2-0.3.19" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__prost-0.11.9", + "rules_rust~0.40.0~i~rules_rust_prost__prost-0.11.9" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__prost-types-0.11.9", + "rules_rust~0.40.0~i~rules_rust_prost__prost-types-0.11.9" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__protoc-gen-prost-0.2.2", + "rules_rust~0.40.0~i~rules_rust_prost__protoc-gen-prost-0.2.2" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__protoc-gen-tonic-0.2.2", + "rules_rust~0.40.0~i~rules_rust_prost__protoc-gen-tonic-0.2.2" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__tokio-1.28.2", + "rules_rust~0.40.0~i~rules_rust_prost__tokio-1.28.2" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__tokio-stream-0.1.14", + "rules_rust~0.40.0~i~rules_rust_prost__tokio-stream-0.1.14" + ], + [ + "rules_rust~0.40.0", + "rules_rust_prost__tonic-0.9.2", + "rules_rust~0.40.0~i~rules_rust_prost__tonic-0.9.2" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__anyhow-1.0.71", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__anyhow-1.0.71" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__assert_cmd-1.0.8", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__assert_cmd-1.0.8" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__diff-0.1.13", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__diff-0.1.13" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__docopt-1.1.1", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__docopt-1.1.1" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__env_logger-0.8.4", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__env_logger-0.8.4" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__log-0.4.19", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__log-0.4.19" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__predicates-1.0.8", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__predicates-1.0.8" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__rayon-1.7.0", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rayon-1.7.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__rouille-3.6.2", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__rouille-3.6.2" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__serde-1.0.171", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde-1.0.171" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__serde_derive-1.0.171", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde_derive-1.0.171" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__serde_json-1.0.102", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__serde_json-1.0.102" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__tempfile-3.6.0", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__tempfile-3.6.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__ureq-2.8.0", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__ureq-2.8.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__walrus-0.20.3", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__walrus-0.20.3" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__wasm-bindgen-0.2.91", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-0.2.91" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.91" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.91" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__wasmparser-0.102.0", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmparser-0.102.0" + ], + [ + "rules_rust~0.40.0", + "rules_rust_wasm_bindgen__wasmprinter-0.2.60", + "rules_rust~0.40.0~i~rules_rust_wasm_bindgen__wasmprinter-0.2.60" + ] + ] + } + } + } +} @@ -244,7 +244,7 @@ cxx-build = "1.0" fn main() { cxx_build::bridge("src/main.rs") // returns a cc::Build .file("src/demo.cc") - .flag_if_supported("-std=c++11") + .std("c++11") .compile("cxxbridge-demo"); println!("cargo:rerun-if-changed=src/main.rs"); diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index 091ad9f7..00000000 --- a/WORKSPACE +++ /dev/null @@ -1,25 +0,0 @@ -workspace(name = "cxx.rs") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "rules_rust", - sha256 = "dc8d79fe9a5beb79d93e482eb807266a0e066e97a7b8c48d43ecf91f32a3a8f3", - urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.19.0/rules_rust-v0.19.0.tar.gz"], -) - -load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") - -rules_rust_dependencies() - -rust_register_toolchains( - versions = ["1.68.0"], -) - -load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") - -crate_universe_dependencies() - -load("//third-party/bazel:defs.bzl", "crate_repositories") - -crate_repositories() diff --git a/book/book.toml b/book/book.toml index 066f3a62..559b3d1c 100644 --- a/book/book.toml +++ b/book/book.toml @@ -4,7 +4,7 @@ authors = ["David Tolnay"] description = "CXX — safe interop between Rust and C++" [rust] -edition = "2018" +edition = "2021" [build] build-dir = "build" diff --git a/book/build.js b/book/build.js index 2cda5860..e595acd8 100755 --- a/book/build.js +++ b/book/build.js @@ -2,9 +2,8 @@ const fs = require('fs'); const cheerio = require('cheerio'); +const entities = require('html-entities'); const hljs = require('./build/highlight.js'); -const Entities = require('html-entities').AllHtmlEntities; -const entities = new Entities(); const githublink = `\ <li class="part-title">\ @@ -100,5 +99,7 @@ fs.copyFileSync('build/highlight.css', 'build/tomorrow-night.css'); fs.copyFileSync('build/highlight.css', 'build/ayu-highlight.css'); var bookjs = fs.readFileSync('build/book.js', 'utf8'); -bookjs = bookjs.replace('set_theme(theme, false);', ''); +bookjs = bookjs + .replace('set_theme(theme, false);', '') + .replace('document.querySelectorAll("code.hljs")', 'document.querySelectorAll("code.hidelines")'); fs.writeFileSync('build/book.js', bookjs); diff --git a/book/css/cxx.css b/book/css/cxx.css index 647f4f71..68d32db5 100644 --- a/book/css/cxx.css +++ b/book/css/cxx.css @@ -42,3 +42,8 @@ nav.sidebar li.part-title i.fa-github { .sidebar .sidebar-scrollbox { padding: 10px 0 10px 10px; } + +pre > .buttons { + visibility: visible; + opacity: 0.3; +} diff --git a/book/package-lock.json b/book/package-lock.json index dec26ad1..351edec0 100644 --- a/book/package-lock.json +++ b/book/package-lock.json @@ -1,19 +1,27 @@ { "name": "cxx-book-build", "version": "0.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "boolbase": { + "packages": { + "": { + "name": "cxx-book-build", + "version": "0.0.0", + "dependencies": { + "cheerio": "^0.22.0", + "html-entities": "^2.3.6" + } + }, + "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "cheerio": { + "node_modules/cheerio": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "requires": { + "integrity": "sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==", + "dependencies": { "css-select": "~1.2.0", "dom-serializer": "~0.1.0", "entities": "~1.1.1", @@ -30,70 +38,86 @@ "lodash.reduce": "^4.4.0", "lodash.reject": "^4.4.0", "lodash.some": "^4.4.0" + }, + "engines": { + "node": ">= 0.6" } }, - "css-select": { + "node_modules/css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", + "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", "domutils": "1.5.1", "nth-check": "~1.0.1" } }, - "css-what": { + "node_modules/css-what": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "engines": { + "node": "*" + } }, - "dom-serializer": { + "node_modules/dom-serializer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "requires": { + "dependencies": { "domelementtype": "^1.3.0", "entities": "^1.1.1" } }, - "domelementtype": { + "node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, - "domhandler": { + "node_modules/domhandler": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { + "dependencies": { "domelementtype": "1" } }, - "domutils": { + "node_modules/domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dependencies": { "dom-serializer": "0", "domelementtype": "1" } }, - "entities": { + "node_modules/entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==" - }, - "htmlparser2": { + "node_modules/html-entities": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.6.tgz", + "integrity": "sha512-9o0+dcpIw2/HxkNuYKxSJUF/MMRZQECK4GnF+oQOmJ83yCVHTWgCH5aOXxK5bozNRmM8wtgryjHD3uloPBDEGw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { + "dependencies": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", "domutils": "^1.5.1", @@ -102,106 +126,123 @@ "readable-stream": "^3.1.1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "lodash.assignin": { + "node_modules/lodash.assignin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==" }, - "lodash.bind": { + "node_modules/lodash.bind": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==" }, - "lodash.defaults": { + "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, - "lodash.filter": { + "node_modules/lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==" }, - "lodash.flatten": { + "node_modules/lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, - "lodash.foreach": { + "node_modules/lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" }, - "lodash.map": { + "node_modules/lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "lodash.pick": { + "node_modules/lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" }, - "lodash.reduce": { + "node_modules/lodash.reduce": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" }, - "lodash.reject": { + "node_modules/lodash.reject": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" }, - "lodash.some": { + "node_modules/lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, - "nth-check": { + "node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { + "dependencies": { "boolbase": "~1.0.0" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { + "dependencies": { "safe-buffer": "~5.2.0" } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" } } } diff --git a/book/package.json b/book/package.json index 092cea21..3391ac89 100644 --- a/book/package.json +++ b/book/package.json @@ -4,7 +4,7 @@ "main": "build.js", "dependencies": { "cheerio": "^0.22.0", - "html-entities": "^1.3.1" + "html-entities": "^2.3.6" }, "prettier": { "singleQuote": true diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index a8f89bfc..2d2502ee 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -10,7 +10,7 @@ - [Multi-language build system options](building.md) - [Cargo](build/cargo.md) - - [Bazel](build/bazel.md) + - [Bazel or Buck2](build/bazel.md) - [CMake](build/cmake.md) - [More...](build/other.md) diff --git a/book/src/async.md b/book/src/async.md index b4c696a3..0f3fed1a 100644 --- a/book/src/async.md +++ b/book/src/async.md @@ -14,7 +14,7 @@ mod ffi { } ``` -```cpp,hidelines +```cpp rust::Future<Ret> doThing(Arg arg) { auto v1 = co_await f(); auto v2 = co_await g(arg); diff --git a/book/src/binding/box.md b/book/src/binding/box.md index 7df19597..dc478999 100644 --- a/book/src/binding/box.md +++ b/book/src/binding/box.md @@ -3,12 +3,12 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# #include <type_traits> -# -# namespace rust { +... +...#include <type_traits> +... +...namespace rust { template <typename T> class Box final { @@ -42,8 +42,8 @@ public: T *into_raw() noexcept; }; -# -# } // namespace rust +... +...} // namespace rust ``` ### Restrictions: diff --git a/book/src/binding/cxxstring.md b/book/src/binding/cxxstring.md index cfe707f2..dc2619ce 100644 --- a/book/src/binding/cxxstring.md +++ b/book/src/binding/cxxstring.md @@ -134,7 +134,7 @@ std::unique_ptr<json> load_config() { std::in_place_type<json::object>, std::initializer_list<std::pair<const std::string, json>>{ {"name", "cxx-example"}, - {"edition", 2018.}, + {"edition", 2021.}, {"repository", json::null}}); } ``` diff --git a/book/src/binding/fn.md b/book/src/binding/fn.md index 2934b069..a32ad52a 100644 --- a/book/src/binding/fn.md +++ b/book/src/binding/fn.md @@ -3,10 +3,10 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# namespace rust { +... +...namespace rust { template <typename Signature> class Fn; @@ -17,8 +17,8 @@ public: Ret operator()(Args... args) const noexcept; Fn operator*() const noexcept; }; -# -# } // namespace rust +... +...} // namespace rust ``` ### Restrictions: diff --git a/book/src/binding/result.md b/book/src/binding/result.md index e49dcf4d..733212a6 100644 --- a/book/src/binding/result.md +++ b/book/src/binding/result.md @@ -55,10 +55,10 @@ The exception that gets thrown by CXX on the C++ side is always of type `rust::Error` and has the following C++ public API. The `what()` member function gives the error message according to the Rust error's std::fmt::Display impl. -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# namespace rust { +... +...namespace rust { class Error final : public std::exception { public: @@ -71,8 +71,8 @@ public: const char *what() const noexcept override; }; -# -# } // namespace rust +... +...} // namespace rust ``` ## Returning Result from C++ to Rust @@ -114,7 +114,7 @@ headers `include!`'d by your cxx::bridge. The template signature is required to be: -```cpp,hidelines +```cpp namespace rust { namespace behavior { @@ -130,19 +130,19 @@ following. You must follow the same pattern: invoke `func` with no arguments, catch whatever exception(s) you want, and invoke `fail` with the error message you'd like for the Rust error to have. -```cpp,hidelines -# #include <exception> -# -# namespace rust { -# namespace behavior { -# +```cpp,hidelines=... +...#include <exception> +... +...namespace rust { +...namespace behavior { +... template <typename Try, typename Fail> static void trycatch(Try &&func, Fail &&fail) noexcept try { func(); } catch (const std::exception &e) { fail(e.what()); } -# -# } // namespace behavior -# } // namespace rust +... +...} // namespace behavior +...} // namespace rust ``` diff --git a/book/src/binding/slice.md b/book/src/binding/slice.md index 803277ba..0de96273 100644 --- a/book/src/binding/slice.md +++ b/book/src/binding/slice.md @@ -6,13 +6,13 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# #include <iterator> -# #include <type_traits> -# -# namespace rust { +... +...#include <iterator> +...#include <type_traits> +... +...namespace rust { template <typename T> class Slice final { @@ -43,39 +43,39 @@ public: void swap(Slice &) noexcept; }; -# -# template <typename T> -# class Slice<T>::iterator final { -# public: -# using iterator_category = std::random_access_iterator_tag; -# using value_type = T; -# using pointer = T *; -# using reference = T &; -# -# T &operator*() const noexcept; -# T *operator->() const noexcept; -# T &operator[](ptrdiff_t) const noexcept; -# -# iterator &operator++() noexcept; -# iterator operator++(int) noexcept; -# iterator &operator--() noexcept; -# iterator operator--(int) noexcept; -# -# iterator &operator+=(ptrdiff_t) noexcept; -# iterator &operator-=(ptrdiff_t) noexcept; -# iterator operator+(ptrdiff_t) const noexcept; -# iterator operator-(ptrdiff_t) const noexcept; -# ptrdiff_t operator-(const iterator &) const noexcept; -# -# bool operator==(const iterator &) const noexcept; -# bool operator!=(const iterator &) const noexcept; -# bool operator<(const iterator &) const noexcept; -# bool operator>(const iterator &) const noexcept; -# bool operator<=(const iterator &) const noexcept; -# bool operator>=(const iterator &) const noexcept; -# }; -# -# } // namespace rust +... +...template <typename T> +...class Slice<T>::iterator final { +...public: +... using iterator_category = std::random_access_iterator_tag; +... using value_type = T; +... using pointer = T *; +... using reference = T &; +... +... T &operator*() const noexcept; +... T *operator->() const noexcept; +... T &operator[](ptrdiff_t) const noexcept; +... +... iterator &operator++() noexcept; +... iterator operator++(int) noexcept; +... iterator &operator--() noexcept; +... iterator operator--(int) noexcept; +... +... iterator &operator+=(ptrdiff_t) noexcept; +... iterator &operator-=(ptrdiff_t) noexcept; +... iterator operator+(ptrdiff_t) const noexcept; +... iterator operator-(ptrdiff_t) const noexcept; +... ptrdiff_t operator-(const iterator &) const noexcept; +... +... bool operator==(const iterator &) const noexcept; +... bool operator!=(const iterator &) const noexcept; +... bool operator<(const iterator &) const noexcept; +... bool operator>(const iterator &) const noexcept; +... bool operator<=(const iterator &) const noexcept; +... bool operator>=(const iterator &) const noexcept; +...}; +... +...} // namespace rust ``` ### Restrictions: diff --git a/book/src/binding/str.md b/book/src/binding/str.md index 9c1e0a77..66284562 100644 --- a/book/src/binding/str.md +++ b/book/src/binding/str.md @@ -3,13 +3,13 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# #include <iosfwd> -# #include <string> -# -# namespace rust { +... +...#include <iosfwd> +...#include <string> +... +...namespace rust { class Str final { public: @@ -50,8 +50,8 @@ public: }; std::ostream &operator<<(std::ostream &, const Str &); -# -# } // namespace rust +... +...} // namespace rust ``` ### Notes: diff --git a/book/src/binding/string.md b/book/src/binding/string.md index 1e482781..57dd245b 100644 --- a/book/src/binding/string.md +++ b/book/src/binding/string.md @@ -3,13 +3,13 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# #include <iosfwd> -# #include <string> -# -# namespace rust { +... +...#include <iosfwd> +...#include <string> +... +...namespace rust { class String final { public: @@ -73,8 +73,8 @@ public: }; std::ostream &operator<<(std::ostream &, const String &); -# -# } // namespace rust +... +...} // namespace rust ``` ### Restrictions: diff --git a/book/src/binding/vec.md b/book/src/binding/vec.md index 4d6587ab..af739b9f 100644 --- a/book/src/binding/vec.md +++ b/book/src/binding/vec.md @@ -3,14 +3,14 @@ ### Public API: -```cpp,hidelines +```cpp,hidelines=... // rust/cxx.h -# -# #include <initializer_list> -# #include <iterator> -# #include <type_traits> -# -# namespace rust { +... +...#include <initializer_list> +...#include <iterator> +...#include <type_traits> +... +...namespace rust { template <typename T> class Vec final { @@ -62,70 +62,70 @@ public: void swap(Vec &) noexcept; }; -# -# template <typename T> -# class Vec<T>::iterator final { -# public: -# using iterator_category = std::random_access_iterator_tag; -# using value_type = T; -# using pointer = T *; -# using reference = T &; -# -# T &operator*() const noexcept; -# T *operator->() const noexcept; -# T &operator[](ptrdiff_t) const noexcept; -# -# iterator &operator++() noexcept; -# iterator operator++(int) noexcept; -# iterator &operator--() noexcept; -# iterator operator--(int) noexcept; -# -# iterator &operator+=(ptrdiff_t) noexcept; -# iterator &operator-=(ptrdiff_t) noexcept; -# iterator operator+(ptrdiff_t) const noexcept; -# iterator operator-(ptrdiff_t) const noexcept; -# ptrdiff_t operator-(const iterator &) const noexcept; -# -# bool operator==(const iterator &) const noexcept; -# bool operator!=(const iterator &) const noexcept; -# bool operator<(const iterator &) const noexcept; -# bool operator<=(const iterator &) const noexcept; -# bool operator>(const iterator &) const noexcept; -# bool operator>=(const iterator &) const noexcept; -# }; -# -# template <typename T> -# class Vec<T>::const_iterator final { -# public: -# using iterator_category = std::random_access_iterator_tag; -# using value_type = const T; -# using pointer = const T *; -# using reference = const T &; -# -# const T &operator*() const noexcept; -# const T *operator->() const noexcept; -# const T &operator[](ptrdiff_t) const noexcept; -# -# const_iterator &operator++() noexcept; -# const_iterator operator++(int) noexcept; -# const_iterator &operator--() noexcept; -# const_iterator operator--(int) noexcept; -# -# const_iterator &operator+=(ptrdiff_t) noexcept; -# const_iterator &operator-=(ptrdiff_t) noexcept; -# const_iterator operator+(ptrdiff_t) const noexcept; -# const_iterator operator-(ptrdiff_t) const noexcept; -# ptrdiff_t operator-(const const_iterator &) const noexcept; -# -# bool operator==(const const_iterator &) const noexcept; -# bool operator!=(const const_iterator &) const noexcept; -# bool operator<(const const_iterator &) const noexcept; -# bool operator<=(const const_iterator &) const noexcept; -# bool operator>(const const_iterator &) const noexcept; -# bool operator>=(const const_iterator &) const noexcept; -# }; -# -# } // namespace rust +... +...template <typename T> +...class Vec<T>::iterator final { +...public: +... using iterator_category = std::random_access_iterator_tag; +... using value_type = T; +... using pointer = T *; +... using reference = T &; +... +... T &operator*() const noexcept; +... T *operator->() const noexcept; +... T &operator[](ptrdiff_t) const noexcept; +... +... iterator &operator++() noexcept; +... iterator operator++(int) noexcept; +... iterator &operator--() noexcept; +... iterator operator--(int) noexcept; +... +... iterator &operator+=(ptrdiff_t) noexcept; +... iterator &operator-=(ptrdiff_t) noexcept; +... iterator operator+(ptrdiff_t) const noexcept; +... iterator operator-(ptrdiff_t) const noexcept; +... ptrdiff_t operator-(const iterator &) const noexcept; +... +... bool operator==(const iterator &) const noexcept; +... bool operator!=(const iterator &) const noexcept; +... bool operator<(const iterator &) const noexcept; +... bool operator<=(const iterator &) const noexcept; +... bool operator>(const iterator &) const noexcept; +... bool operator>=(const iterator &) const noexcept; +...}; +... +...template <typename T> +...class Vec<T>::const_iterator final { +...public: +... using iterator_category = std::random_access_iterator_tag; +... using value_type = const T; +... using pointer = const T *; +... using reference = const T &; +... +... const T &operator*() const noexcept; +... const T *operator->() const noexcept; +... const T &operator[](ptrdiff_t) const noexcept; +... +... const_iterator &operator++() noexcept; +... const_iterator operator++(int) noexcept; +... const_iterator &operator--() noexcept; +... const_iterator operator--(int) noexcept; +... +... const_iterator &operator+=(ptrdiff_t) noexcept; +... const_iterator &operator-=(ptrdiff_t) noexcept; +... const_iterator operator+(ptrdiff_t) const noexcept; +... const_iterator operator-(ptrdiff_t) const noexcept; +... ptrdiff_t operator-(const const_iterator &) const noexcept; +... +... bool operator==(const const_iterator &) const noexcept; +... bool operator!=(const const_iterator &) const noexcept; +... bool operator<(const const_iterator &) const noexcept; +... bool operator<=(const const_iterator &) const noexcept; +... bool operator>(const const_iterator &) const noexcept; +... bool operator>=(const const_iterator &) const noexcept; +...}; +... +...} // namespace rust ``` ### Restrictions: diff --git a/book/src/build/bazel.md b/book/src/build/bazel.md index 6a2c82b0..8bc0cf66 100644 --- a/book/src/build/bazel.md +++ b/book/src/build/bazel.md @@ -1,5 +1,5 @@ -{{#title Bazel, Buck — Rust ♡ C++}} -## Bazel, Buck, potentially other similar environments +{{#title Bazel, Buck2 — Rust ♡ C++}} +## Bazel, Buck2, potentially other similar environments Starlark-based build systems with the ability to compile a code generator and invoke it as a `genrule` will run CXX's C++ code generator via its `cxxbridge` @@ -15,11 +15,14 @@ $ cxxbridge src/bridge.rs --header > path/to/bridge.rs.h $ cxxbridge src/bridge.rs > path/to/bridge.rs.cc ``` -The CXX repo maintains working Bazel `BUILD` and Buck `BUCK` targets for the -complete blobstore tutorial (chapter 3) for your reference, tested in CI. These -aren't meant to be directly what you use in your codebase, but serve as an +The CXX repo maintains working [Bazel] `BUILD` and [Buck2] `BUCK` targets for +the complete blobstore tutorial (chapter 3) for your reference, tested in CI. +These aren't meant to be directly what you use in your codebase, but serve as an illustration of one possible working pattern. +[Bazel]: https://bazel.build +[Buck2]: https://buck2.build + ```python # tools/bazel/rust_cxx_bridge.bzl diff --git a/book/src/build/cargo.md b/book/src/build/cargo.md index 82ccfb50..6e9af802 100644 --- a/book/src/build/cargo.md +++ b/book/src/build/cargo.md @@ -12,12 +12,12 @@ CXX's integration with Cargo is handled through the [cxx-build] crate. [cxx-build]: https://docs.rs/cxx-build -```toml,hidelines -## Cargo.toml -# [package] -# name = "..." -# version = "..." -# edition = "2018" +```toml,hidelines=... +# Cargo.toml +...[package] +...name = "..." +...version = "..." +...edition = "2021" [dependencies] cxx = "1.0" @@ -38,7 +38,7 @@ set up any additional source files and compiler flags as normal. fn main() { cxx_build::bridge("src/main.rs") // returns a cc::Build .file("src/demo.cc") - .flag_if_supported("-std=c++11") + .std("c++11") .compile("cxxbridge-demo"); println!("cargo:rerun-if-changed=src/main.rs"); diff --git a/book/src/build/other.md b/book/src/build/other.md index af835e65..c0c6e911 100644 --- a/book/src/build/other.md +++ b/book/src/build/other.md @@ -48,6 +48,12 @@ When linking a binary which contains mixed Rust and C++ code, you will have to choose between using the Rust toolchain (`rustc`) or the C++ toolchain which you may already have extensively tuned. +The generated C++ code and the Rust code generated by the procedural macro both +depend on each other. Simple examples may only require one or the other, but in +general your linking will need to handle both directions. For some linkers, such +as llvm-ld, this is not a problem at all. For others, such as GNU ld, flags like +`--start-lib`/`--end-lib` may help. + Rust does not generate simple standalone `.o` files, so you can't just throw the Rust-generated code into your existing C++ toolchain linker. Instead you need to choose one of these options: diff --git a/book/src/tutorial.md b/book/src/tutorial.md index 2467282f..1182dc2c 100644 --- a/book/src/tutorial.md +++ b/book/src/tutorial.md @@ -23,12 +23,12 @@ Create a blank Cargo project: `mkdir cxx-demo`; `cd cxx-demo`; `cargo init`. Edit the Cargo.toml to add a dependency on the `cxx` crate: -```toml,hidelines -## Cargo.toml -# [package] -# name = "cxx-demo" -# version = "0.1.0" -# edition = "2018" +```toml,hidelines=... +# Cargo.toml +...[package] +...name = "cxx-demo" +...version = "0.1.0" +...edition = "2021" [dependencies] cxx = "1.0" @@ -159,8 +159,8 @@ std::unique_ptr<BlobstoreClient> new_blobstore_client() { } ``` -Using `std::make_unique` would work too, as long as you pass `-std=c++14` to the -C++ compiler as described later on. +Using `std::make_unique` would work too, as long as you pass `std("c++14")` to +the C++ compiler as described later on. The placement in *include/* and *src/* is not significant; you can place C++ code anywhere else in the crate as long as you use the right paths throughout @@ -177,12 +177,12 @@ Cargo has a [build scripts] feature suitable for compiling non-Rust code. We need to introduce a new build-time dependency on CXX's C++ code generator in Cargo.toml: -```toml,hidelines -## Cargo.toml -# [package] -# name = "cxx-demo" -# version = "0.1.0" -# edition = "2018" +```toml,hidelines=... +# Cargo.toml +...[package] +...name = "cxx-demo" +...version = "0.1.0" +...edition = "2021" [dependencies] cxx = "1.0" @@ -204,6 +204,10 @@ fn main() { cxx_build::bridge("src/main.rs") .file("src/blobstore.cc") .compile("cxx-demo"); + + println!("cargo:rerun-if-changed=src/main.rs"); + println!("cargo:rerun-if-changed=src/blobstore.cc"); + println!("cargo:rerun-if-changed=include/blobstore.h"); } ``` @@ -218,7 +222,7 @@ integration. # fn main() { cxx_build::bridge("src/main.rs") .file("src/blobstore.cc") - .flag_if_supported("-std=c++14") + .std("c++14") .compile("cxx-demo"); # } ``` @@ -328,12 +332,12 @@ pub fn next_chunk(buf: &mut MultiBuf) -> &[u8] { # } ``` -```cpp,hidelines +```cpp,hidelines=... // include/blobstore.h -# #pragma once -# #include <memory> -# +...#pragma once +...#include <memory> +... struct MultiBuf; class BlobstoreClient { @@ -341,8 +345,8 @@ public: BlobstoreClient(); uint64_t put(MultiBuf &buf) const; }; -# -#std::unique_ptr<BlobstoreClient> new_blobstore_client(); +... +...std::unique_ptr<BlobstoreClient> new_blobstore_client(); ``` In blobstore.cc we're able to call the Rust `next_chunk` function, exposed to @@ -350,19 +354,19 @@ C++ by a header `main.rs.h` generated by the CXX code generator. In CXX's Cargo integration this generated header has a path containing the crate name, the relative path of the Rust source file within the crate, and a `.rs.h` extension. -```cpp,hidelines +```cpp,hidelines=... // src/blobstore.cc -##include "cxx-demo/include/blobstore.h" -##include "cxx-demo/src/main.rs.h" -##include <functional> -##include <string> -# -# BlobstoreClient::BlobstoreClient() {} -# -# std::unique_ptr<BlobstoreClient> new_blobstore_client() { -# return std::make_unique<BlobstoreClient>(); -# } +#include "cxx-demo/include/blobstore.h" +#include "cxx-demo/src/main.rs.h" +#include <functional> +#include <string> +... +...BlobstoreClient::BlobstoreClient() {} +... +...std::unique_ptr<BlobstoreClient> new_blobstore_client() { +... return std::make_unique<BlobstoreClient>(); +...} // Upload a new blob and return a blobid that serves as a handle to the blob. uint64_t BlobstoreClient::put(MultiBuf &buf) const { @@ -559,12 +563,12 @@ fn main() { } ``` -```cpp,hidelines +```cpp,hidelines=... // include/blobstore.h -##pragma once -##include "rust/cxx.h" -# #include <memory> +#pragma once +#include "rust/cxx.h" +...#include <memory> struct MultiBuf; struct BlobMetadata; @@ -580,20 +584,20 @@ private: class impl; std::shared_ptr<impl> impl; }; -# -# std::unique_ptr<BlobstoreClient> new_blobstore_client(); +... +...std::unique_ptr<BlobstoreClient> new_blobstore_client(); ``` -```cpp,hidelines +```cpp,hidelines=... // src/blobstore.cc -##include "cxx-demo/include/blobstore.h" -##include "cxx-demo/src/main.rs.h" -##include <algorithm> -##include <functional> -##include <set> -##include <string> -##include <unordered_map> +#include "cxx-demo/include/blobstore.h" +#include "cxx-demo/src/main.rs.h" +#include <algorithm> +#include <functional> +#include <set> +#include <string> +#include <unordered_map> // Toy implementation of an in-memory blobstore. // @@ -609,24 +613,24 @@ class BlobstoreClient::impl { }; BlobstoreClient::BlobstoreClient() : impl(new class BlobstoreClient::impl) {} -# -# // Upload a new blob and return a blobid that serves as a handle to the blob. -# uint64_t BlobstoreClient::put(MultiBuf &buf) const { -# // Traverse the caller's chunk iterator. -# std::string contents; -# while (true) { -# auto chunk = next_chunk(buf); -# if (chunk.size() == 0) { -# break; -# } -# contents.append(reinterpret_cast<const char *>(chunk.data()), chunk.size()); -# } -# -# // Insert into map and provide caller the handle. -# auto blobid = std::hash<std::string>{}(contents); -# impl->blobs[blobid] = {std::move(contents), {}}; -# return blobid; -# } +... +...// Upload a new blob and return a blobid that serves as a handle to the blob. +...uint64_t BlobstoreClient::put(MultiBuf &buf) const { +... // Traverse the caller's chunk iterator. +... std::string contents; +... while (true) { +... auto chunk = next_chunk(buf); +... if (chunk.size() == 0) { +... break; +... } +... contents.append(reinterpret_cast<const char *>(chunk.data()), chunk.size()); +... } +... +... // Insert into map and provide caller the handle. +... auto blobid = std::hash<std::string>{}(contents); +... impl->blobs[blobid] = {std::move(contents), {}}; +... return blobid; +...} // Add tag to an existing blob. void BlobstoreClient::tag(uint64_t blobid, rust::Str tag) const { @@ -644,10 +648,10 @@ BlobMetadata BlobstoreClient::metadata(uint64_t blobid) const { } return metadata; } -# -# std::unique_ptr<BlobstoreClient> new_blobstore_client() { -# return std::make_unique<BlobstoreClient>(); -# } +... +...std::unique_ptr<BlobstoreClient> new_blobstore_client() { +... return std::make_unique<BlobstoreClient>(); +...} ``` ```console diff --git a/book/theme/head.hbs b/book/theme/head.hbs index 4210276b..d6b32cb9 100644 --- a/book/theme/head.hbs +++ b/book/theme/head.hbs @@ -1,7 +1,7 @@ - <script async src="https://www.googletagmanager.com/gtag/js?id=G-DG41MK6DDN"></script> - <script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('js', new Date()); - gtag('config', 'G-DG41MK6DDN', {'anonymize_ip': true}); - </script> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-DG41MK6DDN"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + gtag('config', 'G-DG41MK6DDN', {anonymize_ip: true, cookie_domain: 'cxx.rs', cookie_flags: 'samesite=strict;secure'}); +</script> @@ -1,13 +1,16 @@ use std::env; -use std::path::Path; +use std::path::{Path, PathBuf}; use std::process::Command; fn main() { + let manifest_dir_opt = env::var_os("CARGO_MANIFEST_DIR").map(PathBuf::from); + let manifest_dir = manifest_dir_opt.as_deref().unwrap_or(Path::new("")); + cc::Build::new() - .file("src/cxx.cc") + .file(manifest_dir.join("src/cxx.cc")) .cpp(true) .cpp_link_stdlib(None) // linked via link-cplusplus crate - .flag_if_supported(cxxbridge_flags::STD) + .std(cxxbridge_flags::STD) .warnings_into_errors(cfg!(deny_warnings)) .compile("cxxbridge1"); @@ -15,8 +18,8 @@ fn main() { println!("cargo:rerun-if-changed=include/cxx.h"); println!("cargo:rustc-cfg=built_with_cargo"); - if let Some(manifest_dir) = env::var_os("CARGO_MANIFEST_DIR") { - let cxx_h = Path::new(&manifest_dir).join("include").join("cxx.h"); + if let Some(manifest_dir) = &manifest_dir_opt { + let cxx_h = manifest_dir.join("include").join("cxx.h"); println!("cargo:HEADER={}", cxx_h.to_string_lossy()); } @@ -3,7 +3,7 @@ load("//tools/buck:rust_cxx_bridge.bzl", "rust_cxx_bridge") rust_binary( name = "demo", srcs = glob(["src/**/*.rs"]), - edition = "2018", + edition = "2021", deps = [ ":blobstore-sys", ":bridge", @@ -20,7 +20,7 @@ rust_cxx_bridge( cxx_library( name = "blobstore-sys", srcs = ["src/blobstore.cc"], - compiler_flags = ["-std=c++14"], + preferred_linkage = "static", deps = [ ":blobstore-include", ":bridge/include", @@ -5,7 +5,7 @@ load("//tools/bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge") rust_binary( name = "demo", srcs = glob(["src/**/*.rs"]), - edition = "2018", + edition = "2021", deps = [ ":blobstore-sys", ":bridge", @@ -22,7 +22,6 @@ rust_cxx_bridge( cc_library( name = "blobstore-sys", srcs = ["src/blobstore.cc"], - copts = ["-std=c++14"], deps = [ ":blobstore-include", ":bridge/include", diff --git a/demo/Cargo.toml b/demo/Cargo.toml index cee0bc2c..f125cf27 100644 --- a/demo/Cargo.toml +++ b/demo/Cargo.toml @@ -3,7 +3,7 @@ name = "demo" version = "0.0.0" authors = ["David Tolnay <dtolnay@gmail.com>"] description = "Toy project from https://github.com/dtolnay/cxx" -edition = "2018" +edition = "2021" license = "MIT OR Apache-2.0" publish = false repository = "https://github.com/dtolnay/cxx" diff --git a/flags/Cargo.toml b/flags/Cargo.toml index 0baafb17..9cb88a04 100644 --- a/flags/Cargo.toml +++ b/flags/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "cxxbridge-flags" -version = "1.0.93" +version = "1.0.119" authors = ["David Tolnay <dtolnay@gmail.com>"] categories = ["development-tools::ffi", "compilers"] description = "Compiler configuration of the `cxx` crate (implementation detail)" -edition = "2018" +edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/dtolnay/cxx" rust-version = "1.60" @@ -17,3 +17,4 @@ default = [] # c++11 [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/flags/src/impl.rs b/flags/src/impl.rs index 4f7b8fb4..4cf0713e 100644 --- a/flags/src/impl.rs +++ b/flags/src/impl.rs @@ -1,20 +1,15 @@ #[allow(unused_assignments, unused_mut, unused_variables)] pub const STD: &str = { - let mut flags = ["-std=c++11", "/std:c++11"]; + let mut flag = "c++11"; #[cfg(feature = "c++14")] - (flags = ["-std=c++14", "/std:c++14"]); + (flag = "c++14"); #[cfg(feature = "c++17")] - (flags = ["-std=c++17", "/std:c++17"]); + (flag = "c++17"); #[cfg(feature = "c++20")] - (flags = ["-std=c++20", "/std:c++20"]); - - let [mut flag, msvc_flag] = flags; - - #[cfg(target_env = "msvc")] - (flag = msvc_flag); + (flag = "c++20"); flag }; diff --git a/flags/src/lib.rs b/flags/src/lib.rs index 55172b21..899facd4 100644 --- a/flags/src/lib.rs +++ b/flags/src/lib.rs @@ -1,6 +1,8 @@ //! This crate is an implementation detail of the `cxx` and `cxx-build` crates, //! and does not expose any public API. +#![allow(clippy::let_and_return)] + mod r#impl; #[doc(hidden)] diff --git a/gen/build/Cargo.toml b/gen/build/Cargo.toml index 9b74255b..ee20e2b7 100644 --- a/gen/build/Cargo.toml +++ b/gen/build/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "cxx-build" -version = "1.0.93" +version = "1.0.119" authors = ["David Tolnay <dtolnay@gmail.com>"] categories = ["development-tools::build-utils", "development-tools::ffi"] description = "C++ code generator for integrating `cxx` crate into a Cargo build." documentation = "https://docs.rs/cxx-build" -edition = "2018" +edition = "2021" exclude = ["build.rs"] homepage = "https://cxx.rs" keywords = ["ffi", "build-dependencies"] @@ -19,21 +19,22 @@ parallel = ["cc/parallel"] experimental-async-fn = [] [dependencies] -cc = "1.0.49" +cc = "1.0.83" codespan-reporting = "0.11.1" -once_cell = "1.9" -proc-macro2 = { version = "1.0.39", default-features = false, features = ["span-locations"] } -quote = { version = "1.0", default-features = false } -scratch = "1.0" -syn = { version = "2.0.1", default-features = false, features = ["parsing", "printing", "clone-impls", "full"] } +once_cell = "1.18" +proc-macro2 = { version = "1.0.74", default-features = false, features = ["span-locations"] } +quote = { version = "1.0.35", default-features = false } +scratch = "1.0.5" +syn = { version = "2.0.46", default-features = false, features = ["clone-impls", "full", "parsing", "printing"] } [dev-dependencies] cxx = { version = "1.0", path = "../.." } cxx-gen = { version = "0.7", path = "../lib" } -pkg-config = "0.3" +pkg-config = "0.3.27" [lib] doc-scrape-examples = false [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/gen/build/src/deps.rs b/gen/build/src/deps.rs index fb80072c..36f2066a 100644 --- a/gen/build/src/deps.rs +++ b/gen/build/src/deps.rs @@ -4,19 +4,19 @@ use std::ffi::OsString; use std::path::PathBuf; #[derive(Default)] -pub struct Crate { +pub(crate) struct Crate { pub include_prefix: Option<PathBuf>, pub links: Option<OsString>, pub header_dirs: Vec<HeaderDir>, } -pub struct HeaderDir { +pub(crate) struct HeaderDir { pub exported: bool, pub path: PathBuf, } impl Crate { - pub fn print_to_cargo(&self) { + pub(crate) fn print_to_cargo(&self) { if let Some(include_prefix) = &self.include_prefix { println!( "cargo:CXXBRIDGE_PREFIX={}", @@ -38,7 +38,7 @@ impl Crate { } } -pub fn direct_dependencies() -> Vec<Crate> { +pub(crate) fn direct_dependencies() -> Vec<Crate> { let mut crates: BTreeMap<String, Crate> = BTreeMap::new(); let mut exported_header_dirs: BTreeMap<String, Vec<(usize, PathBuf)>> = BTreeMap::new(); diff --git a/gen/build/src/intern.rs b/gen/build/src/intern.rs index c8b57d89..753e3f31 100644 --- a/gen/build/src/intern.rs +++ b/gen/build/src/intern.rs @@ -3,15 +3,15 @@ use once_cell::sync::OnceCell; use std::sync::{Mutex, PoisonError}; #[derive(Copy, Clone, Default)] -pub struct InternedString(&'static str); +pub(crate) struct InternedString(&'static str); impl InternedString { - pub fn str(self) -> &'static str { + pub(crate) fn str(self) -> &'static str { self.0 } } -pub fn intern(s: &str) -> InternedString { +pub(crate) fn intern(s: &str) -> InternedString { static INTERN: OnceCell<Mutex<Set<&'static str>>> = OnceCell::new(); let mut set = INTERN diff --git a/gen/build/src/lib.rs b/gen/build/src/lib.rs index b6b843a6..4fcb9459 100644 --- a/gen/build/src/lib.rs +++ b/gen/build/src/lib.rs @@ -45,17 +45,17 @@ //! $ cxxbridge src/main.rs > path/to/mybridge.cc //! ``` -#![doc(html_root_url = "https://docs.rs/cxx-build/1.0.93")] +#![doc(html_root_url = "https://docs.rs/cxx-build/1.0.119")] #![allow( clippy::cast_sign_loss, clippy::default_trait_access, clippy::derive_partial_eq_without_eq, clippy::doc_markdown, - clippy::drop_copy, clippy::enum_glob_use, clippy::explicit_auto_deref, clippy::if_same_then_else, clippy::inherent_to_string, + clippy::into_iter_without_iter, clippy::items_after_statements, clippy::match_bool, clippy::match_on_vec_items, @@ -65,7 +65,6 @@ clippy::needless_pass_by_value, clippy::new_without_default, clippy::nonminimal_bool, - clippy::option_if_let_else, clippy::or_fun_call, clippy::redundant_else, clippy::shadow_unrelated, @@ -73,12 +72,13 @@ clippy::similar_names, clippy::single_match_else, clippy::struct_excessive_bools, + clippy::struct_field_names, clippy::too_many_arguments, clippy::too_many_lines, clippy::toplevel_ref_arg, + clippy::unconditional_recursion, // clippy bug: https://github.com/rust-lang/rust-clippy/issues/12133 + clippy::uninlined_format_args, clippy::upper_case_acronyms, - // clippy bug: https://github.com/rust-lang/rust-clippy/issues/6983 - clippy::wrong_self_convention )] mod cargo; @@ -369,7 +369,7 @@ fn make_crate_dir(prj: &Project) -> PathBuf { let crate_dir = prj.out_dir.join("cxxbridge").join("crate"); let ref link = crate_dir.join(&prj.include_prefix); let ref manifest_dir = prj.manifest_dir; - if out::symlink_dir(manifest_dir, link).is_err() && cfg!(not(unix)) { + if out::relative_symlink_dir(manifest_dir, link).is_err() && cfg!(not(unix)) { let cachedir_tag = "\ Signature: 8a477f597d28d172789f06886806bc55\n\ # This file is a cache directory tag created by cxx.\n\ @@ -386,11 +386,11 @@ fn make_include_dir(prj: &Project) -> Result<PathBuf> { let cxx_h = include_dir.join("rust").join("cxx.h"); let ref shared_cxx_h = prj.shared_dir.join("rust").join("cxx.h"); if let Some(ref original) = env::var_os("DEP_CXXBRIDGE1_HEADER") { - out::symlink_file(original, cxx_h)?; - out::symlink_file(original, shared_cxx_h)?; + out::absolute_symlink_file(original, cxx_h)?; + out::absolute_symlink_file(original, shared_cxx_h)?; } else { out::write(shared_cxx_h, gen::include::HEADER.as_bytes())?; - out::symlink_file(shared_cxx_h, cxx_h)?; + out::relative_symlink_file(shared_cxx_h, cxx_h)?; } Ok(include_dir) } @@ -414,7 +414,7 @@ fn generate_bridge(prj: &Project, build: &mut Build, rust_source_file: &Path) -> out::write(header_path, &generated.header)?; let ref link_path = include_dir.join(rel_path); - let _ = out::symlink_file(header_path, link_path); + let _ = out::relative_symlink_file(header_path, link_path); let ref rel_path_cc = rel_path.with_appended_extension(".cc"); let ref implementation_path = sources_dir.join(rel_path_cc); @@ -423,8 +423,8 @@ fn generate_bridge(prj: &Project, build: &mut Build, rust_source_file: &Path) -> let shared_h = prj.shared_dir.join(&prj.include_prefix).join(rel_path_h); let shared_cc = prj.shared_dir.join(&prj.include_prefix).join(rel_path_cc); - let _ = out::symlink_file(header_path, shared_h); - let _ = out::symlink_file(implementation_path, shared_cc); + let _ = out::relative_symlink_file(header_path, shared_h); + let _ = out::relative_symlink_file(implementation_path, shared_cc); Ok(()) } @@ -455,7 +455,7 @@ fn best_effort_copy_headers(src: &Path, dst: &Path, max_depth: usize) { Ok(file_type) if file_type.is_file() => { let src = entry.path(); match src.extension().and_then(OsStr::to_str) { - Some("h") | Some("hh") | Some("hpp") => {} + Some("h" | "hh" | "hpp") => {} _ => continue, } if !dst_created && fs::create_dir_all(dst).is_err() { diff --git a/gen/build/src/out.rs b/gen/build/src/out.rs index a52aab25..0095666f 100644 --- a/gen/build/src/out.rs +++ b/gen/build/src/out.rs @@ -1,8 +1,8 @@ use crate::error::{Error, Result}; use crate::gen::fs; use crate::paths; -use std::io; -use std::path::Path; +use std::path::{Component, Path, PathBuf}; +use std::{env, io}; pub(crate) fn write(path: impl AsRef<Path>, content: &[u8]) -> Result<()> { let path = path.as_ref(); @@ -29,19 +29,61 @@ pub(crate) fn write(path: impl AsRef<Path>, content: &[u8]) -> Result<()> { } } -pub(crate) fn symlink_file(original: impl AsRef<Path>, link: impl AsRef<Path>) -> Result<()> { +pub(crate) fn relative_symlink_file( + original: impl AsRef<Path>, + link: impl AsRef<Path>, +) -> Result<()> { let original = original.as_ref(); let link = link.as_ref(); - let mut create_dir_error = None; + let parent_directory_error = prepare_parent_directory_for_symlink(link).err(); + let relativized = best_effort_relativize_symlink(original, link); + + symlink_file(&relativized, original, link, parent_directory_error) +} + +pub(crate) fn absolute_symlink_file( + original: impl AsRef<Path>, + link: impl AsRef<Path>, +) -> Result<()> { + let original = original.as_ref(); + let link = link.as_ref(); + + let parent_directory_error = prepare_parent_directory_for_symlink(link).err(); + + symlink_file(original, original, link, parent_directory_error) +} + +pub(crate) fn relative_symlink_dir( + original: impl AsRef<Path>, + link: impl AsRef<Path>, +) -> Result<()> { + let original = original.as_ref(); + let link = link.as_ref(); + + let parent_directory_error = prepare_parent_directory_for_symlink(link).err(); + let relativized = best_effort_relativize_symlink(original, link); + + symlink_dir(&relativized, link, parent_directory_error) +} + +fn prepare_parent_directory_for_symlink(link: &Path) -> fs::Result<()> { if fs::exists(link) { best_effort_remove(link); + Ok(()) } else { let parent = link.parent().unwrap(); - create_dir_error = fs::create_dir_all(parent).err(); + fs::create_dir_all(parent) } +} - match paths::symlink_or_copy(original, link) { +fn symlink_file( + path_for_symlink: &Path, + path_for_copy: &Path, + link: &Path, + parent_directory_error: Option<fs::Error>, +) -> Result<()> { + match paths::symlink_or_copy(path_for_symlink, path_for_copy, link) { // As long as symlink_or_copy succeeded, ignore any create_dir_all error. Ok(()) => Ok(()), Err(err) => { @@ -57,29 +99,22 @@ pub(crate) fn symlink_file(original: impl AsRef<Path>, link: impl AsRef<Path>) - } else { // If create_dir_all and symlink_or_copy both failed, prefer the // first error. - Err(Error::Fs(create_dir_error.unwrap_or(err))) + Err(Error::Fs(parent_directory_error.unwrap_or(err))) } } } } -pub(crate) fn symlink_dir(original: impl AsRef<Path>, link: impl AsRef<Path>) -> Result<()> { - let original = original.as_ref(); - let link = link.as_ref(); - - let mut create_dir_error = None; - if fs::exists(link) { - best_effort_remove(link); - } else { - let parent = link.parent().unwrap(); - create_dir_error = fs::create_dir_all(parent).err(); - } - - match fs::symlink_dir(original, link) { +fn symlink_dir( + path_for_symlink: &Path, + link: &Path, + parent_directory_error: Option<fs::Error>, +) -> Result<()> { + match fs::symlink_dir(path_for_symlink, link) { // As long as symlink_dir succeeded, ignore any create_dir_all error. Ok(()) => Ok(()), // If create_dir_all and symlink_dir both failed, prefer the first error. - Err(err) => Err(Error::Fs(create_dir_error.unwrap_or(err))), + Err(err) => Err(Error::Fs(parent_directory_error.unwrap_or(err))), } } @@ -117,3 +152,155 @@ fn best_effort_remove(path: &Path) { } } } + +fn best_effort_relativize_symlink(original: impl AsRef<Path>, link: impl AsRef<Path>) -> PathBuf { + let original = original.as_ref(); + let link = link.as_ref(); + + let relative_path = match abstractly_relativize_symlink(original, link) { + Some(relative_path) => relative_path, + None => return original.to_path_buf(), + }; + + // Sometimes "a/b/../c" refers to a different canonical location than "a/c". + // This can happen if 'b' is a symlink. The '..' canonicalizes to the parent + // directory of the symlink's target, not back to 'a'. In cxx-build's case + // someone could be using `--target-dir` with a location containing such + // symlinks. + if let Ok(original_canonical) = original.canonicalize() { + if let Ok(relative_canonical) = link.parent().unwrap().join(&relative_path).canonicalize() { + if original_canonical == relative_canonical { + return relative_path; + } + } + } + + original.to_path_buf() +} + +fn abstractly_relativize_symlink( + original: impl AsRef<Path>, + link: impl AsRef<Path>, +) -> Option<PathBuf> { + let original = original.as_ref(); + let link = link.as_ref(); + + // Relativization only makes sense if there is a semantically meaningful + // base directory shared between the two paths. + // + // For example /Volumes/code/library/src/lib.rs + // and /Volumes/code/library/target/path/to/something.a + // have a meaningful shared base of /Volumes/code/library. The target and + // source directory only likely ever get relocated as one unit. + // + // On the other hand, /Volumes/code/library/src/lib.rs + // and /Volumes/shared_target + // do not, since upon moving library to a different location it should + // continue referring to the original location of that shared Cargo target + // directory. + let likely_no_semantic_prefix = env::var_os("CARGO_TARGET_DIR").is_some(); + + if likely_no_semantic_prefix + || original.is_relative() + || link.is_relative() + || path_contains_intermediate_components(original) + || path_contains_intermediate_components(link) + { + return None; + } + + let (common_prefix, rest_of_original, rest_of_link) = split_after_common_prefix(original, link); + + if common_prefix == Path::new("") { + return None; + } + + let mut rest_of_link = rest_of_link.components(); + rest_of_link + .next_back() + .expect("original can't be a subdirectory of link"); + + let mut path_to_common_prefix = PathBuf::new(); + while rest_of_link.next_back().is_some() { + path_to_common_prefix.push(Component::ParentDir); + } + + Some(path_to_common_prefix.join(rest_of_original)) +} + +fn path_contains_intermediate_components(path: impl AsRef<Path>) -> bool { + path.as_ref() + .components() + .any(|component| component == Component::ParentDir) +} + +fn split_after_common_prefix<'first, 'second>( + first: &'first Path, + second: &'second Path, +) -> (&'first Path, &'first Path, &'second Path) { + let entire_first = first; + let mut first = first.components(); + let mut second = second.components(); + loop { + let rest_of_first = first.as_path(); + let rest_of_second = second.as_path(); + match (first.next(), second.next()) { + (Some(first_component), Some(second_component)) + if first_component == second_component => {} + _ => { + let mut common_prefix = entire_first; + for _ in rest_of_first.components().rev() { + if let Some(parent) = common_prefix.parent() { + common_prefix = parent; + } else { + common_prefix = Path::new(""); + break; + } + } + return (common_prefix, rest_of_first, rest_of_second); + } + } + } +} + +#[cfg(test)] +mod tests { + use crate::out::abstractly_relativize_symlink; + use std::path::Path; + + #[cfg(not(windows))] + #[test] + fn test_relativize_symlink_unix() { + assert_eq!( + abstractly_relativize_symlink("/foo/bar/baz", "/foo/spam/eggs").as_deref(), + Some(Path::new("../bar/baz")), + ); + assert_eq!( + abstractly_relativize_symlink("/foo/bar/../baz", "/foo/spam/eggs"), + None, + ); + assert_eq!( + abstractly_relativize_symlink("/foo/bar/baz", "/foo/spam/./eggs").as_deref(), + Some(Path::new("../bar/baz")), + ); + } + + #[cfg(windows)] + #[test] + fn test_relativize_symlink_windows() { + use std::path::PathBuf; + + let windows_target = PathBuf::from_iter(["c:\\", "windows", "foo"]); + let windows_link = PathBuf::from_iter(["c:\\", "users", "link"]); + let windows_different_volume_link = PathBuf::from_iter(["d:\\", "users", "link"]); + + assert_eq!( + abstractly_relativize_symlink(&windows_target, windows_link).as_deref(), + Some(Path::new("..\\windows\\foo")), + ); + assert_eq!( + abstractly_relativize_symlink(&windows_target, windows_different_volume_link), + None, + ); + } +} diff --git a/gen/build/src/paths.rs b/gen/build/src/paths.rs index c514a570..53445dee 100644 --- a/gen/build/src/paths.rs +++ b/gen/build/src/paths.rs @@ -40,28 +40,37 @@ impl PathExt for Path { } #[cfg(unix)] -pub(crate) use self::fs::symlink_file as symlink_or_copy; +pub(crate) fn symlink_or_copy( + path_for_symlink: impl AsRef<Path>, + _path_for_copy: impl AsRef<Path>, + link: impl AsRef<Path>, +) -> fs::Result<()> { + fs::symlink_file(path_for_symlink, link) +} #[cfg(windows)] pub(crate) fn symlink_or_copy( - original: impl AsRef<Path>, + path_for_symlink: impl AsRef<Path>, + path_for_copy: impl AsRef<Path>, link: impl AsRef<Path>, ) -> fs::Result<()> { // Pre-Windows 10, symlinks require admin privileges. Since Windows 10, they // require Developer Mode. If it fails, fall back to copying the file. - let original = original.as_ref(); + let path_for_symlink = path_for_symlink.as_ref(); let link = link.as_ref(); - if fs::symlink_file(original, link).is_err() { - fs::copy(original, link)?; + if fs::symlink_file(path_for_symlink, link).is_err() { + let path_for_copy = path_for_copy.as_ref(); + fs::copy(path_for_copy, link)?; } Ok(()) } #[cfg(not(any(unix, windows)))] pub(crate) fn symlink_or_copy( - original: impl AsRef<Path>, + _path_for_symlink: impl AsRef<Path>, + path_for_copy: impl AsRef<Path>, copy: impl AsRef<Path>, ) -> fs::Result<()> { - fs::copy(original, copy)?; + fs::copy(path_for_copy, copy)?; Ok(()) } diff --git a/gen/build/src/vec.rs b/gen/build/src/vec.rs index ac9235ec..ccc98955 100644 --- a/gen/build/src/vec.rs +++ b/gen/build/src/vec.rs @@ -1,7 +1,7 @@ use crate::intern::{self, InternedString}; use std::path::Path; -pub trait InternedVec<T> +pub(crate) trait InternedVec<T> where T: ?Sized, { @@ -17,14 +17,14 @@ where } } -pub fn intern<T>(elements: &[&T]) -> Vec<InternedString> +pub(crate) fn intern<T>(elements: &[&T]) -> Vec<InternedString> where T: ?Sized + Element, { elements.iter().copied().map(Element::intern).collect() } -pub trait Element { +pub(crate) trait Element { fn intern(&self) -> InternedString; fn unintern(_: InternedString) -> &'static Self; } diff --git a/gen/cmd/Android.bp b/gen/cmd/Android.bp index 688e9968..b0d6ad47 100644 --- a/gen/cmd/Android.bp +++ b/gen/cmd/Android.bp @@ -17,7 +17,7 @@ rust_binary_host { cargo_env_compat: true, cargo_pkg_version: "1.0.93", srcs: ["src/main.rs"], - edition: "2018", + edition: "2021", rustlibs: [ "libclap", "libcodespan_reporting", diff --git a/gen/cmd/Cargo.toml b/gen/cmd/Cargo.toml index 0026a531..fef5b8c3 100644 --- a/gen/cmd/Cargo.toml +++ b/gen/cmd/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "cxxbridge-cmd" -version = "1.0.93" +version = "1.0.119" authors = ["David Tolnay <dtolnay@gmail.com>"] categories = ["development-tools::build-utils", "development-tools::ffi"] description = "C++ code generator for integrating `cxx` crate into a non-Cargo build." -edition = "2018" +edition = "2021" exclude = ["build.rs"] homepage = "https://cxx.rs" keywords = ["ffi"] @@ -21,11 +21,11 @@ path = "src/main.rs" experimental-async-fn = [] [dependencies] -clap = { version = "4", default-features = false, features = ["error-context", "help", "std", "suggestions", "usage"] } -codespan-reporting = "0.11" -proc-macro2 = { version = "1.0.39", default-features = false, features = ["span-locations"] } -quote = { version = "1.0", default-features = false } -syn = { version = "2.0.1", default-features = false, features = ["parsing", "printing", "clone-impls", "full"] } +clap = { version = "4.3.11", default-features = false, features = ["error-context", "help", "std", "suggestions", "usage"] } +codespan-reporting = "0.11.1" +proc-macro2 = { version = "1.0.74", default-features = false, features = ["span-locations"] } +quote = { version = "1.0.35", default-features = false } +syn = { version = "2.0.46", default-features = false, features = ["clone-impls", "full", "parsing", "printing"] } [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] diff --git a/gen/cmd/src/app.rs b/gen/cmd/src/app.rs index bfad8562..645b05d5 100644 --- a/gen/cmd/src/app.rs +++ b/gen/cmd/src/app.rs @@ -84,7 +84,7 @@ pub(super) fn from_args() -> Opt { } } else { Include { - path: include.to_owned(), + path: include.clone(), kind: IncludeKind::Quoted, } } @@ -122,7 +122,7 @@ pub(super) fn from_args() -> Opt { fn arg_input() -> Arg { Arg::new(INPUT) .help("Input Rust source file containing #[cxx::bridge].") - .required_unless_present_any(&[HEADER, HELP]) + .required_unless_present_any([HEADER, HELP]) .value_parser(ValueParser::path_buf()) } diff --git a/gen/cmd/src/cfg.rs b/gen/cmd/src/cfg.rs index 29f0b9bc..92b954cd 100644 --- a/gen/cmd/src/cfg.rs +++ b/gen/cmd/src/cfg.rs @@ -5,7 +5,7 @@ use syn::parse::ParseStream; use syn::{Ident, LitBool, LitStr, Token}; #[derive(Ord, PartialOrd, Eq, PartialEq)] -pub enum CfgValue { +pub(crate) enum CfgValue { Bool(bool), Str(String), } @@ -15,12 +15,12 @@ impl CfgValue { const TRUE: Self = CfgValue::Bool(true); } -pub struct FlagsCfgEvaluator { +pub(crate) struct FlagsCfgEvaluator { map: Map<String, Set<CfgValue>>, } impl FlagsCfgEvaluator { - pub fn new(map: Map<String, Set<CfgValue>>) -> Self { + pub(crate) fn new(map: Map<String, Set<CfgValue>>) -> Self { FlagsCfgEvaluator { map } } } @@ -73,7 +73,7 @@ impl Debug for CfgValue { } } -pub fn parse(input: ParseStream) -> syn::Result<(String, CfgValue)> { +pub(crate) fn parse(input: ParseStream) -> syn::Result<(String, CfgValue)> { let ident: Ident = input.parse()?; let name = ident.to_string(); if input.is_empty() { diff --git a/gen/cmd/src/main.rs b/gen/cmd/src/main.rs index 4d5edfd1..227a3637 100644 --- a/gen/cmd/src/main.rs +++ b/gen/cmd/src/main.rs @@ -6,8 +6,10 @@ clippy::enum_glob_use, clippy::if_same_then_else, clippy::inherent_to_string, + clippy::into_iter_without_iter, clippy::items_after_statements, clippy::large_enum_variant, + clippy::map_clone, clippy::match_bool, clippy::match_on_vec_items, clippy::match_same_arms, @@ -15,18 +17,16 @@ clippy::needless_pass_by_value, clippy::new_without_default, clippy::nonminimal_bool, - clippy::option_if_let_else, clippy::or_fun_call, clippy::redundant_else, clippy::shadow_unrelated, clippy::similar_names, clippy::single_match_else, clippy::struct_excessive_bools, + clippy::struct_field_names, clippy::too_many_arguments, clippy::too_many_lines, - clippy::toplevel_ref_arg, - // clippy bug: https://github.com/rust-lang/rust-clippy/issues/6983 - clippy::wrong_self_convention + clippy::toplevel_ref_arg )] mod app; diff --git a/gen/lib/Android.bp b/gen/lib/Android.bp index 6c8728bd..bcafaa53 100644 --- a/gen/lib/Android.bp +++ b/gen/lib/Android.bp @@ -7,7 +7,7 @@ rust_library_host { cargo_env_compat: true, cargo_pkg_version: "0.7.93", srcs: ["src/lib.rs"], - edition: "2018", + edition: "2021", rustlibs: [ "libcodespan_reporting", "libproc_macro2", diff --git a/gen/lib/Cargo.toml b/gen/lib/Cargo.toml index b4f45b6b..2e400ffb 100644 --- a/gen/lib/Cargo.toml +++ b/gen/lib/Cargo.toml @@ -1,10 +1,11 @@ [package] name = "cxx-gen" -version = "0.7.93" +version = "0.7.119" authors = ["Adrian Taylor <adetaylor@chromium.org>"] categories = ["development-tools::ffi"] description = "C++ code generator for integrating `cxx` crate into higher level tools." -edition = "2018" +documentation = "https://docs.rs/cxx-gen" +edition = "2021" exclude = ["build.rs"] keywords = ["ffi"] license = "MIT OR Apache-2.0" @@ -12,13 +13,14 @@ repository = "https://github.com/dtolnay/cxx" rust-version = "1.60" [dependencies] -codespan-reporting = "0.11" -proc-macro2 = { version = "1.0.39", default-features = false, features = ["span-locations"] } -quote = { version = "1.0", default-features = false } -syn = { version = "2.0.1", default-features = false, features = ["parsing", "printing", "clone-impls", "full"] } +codespan-reporting = "0.11.1" +proc-macro2 = { version = "1.0.74", default-features = false, features = ["span-locations"] } +quote = { version = "1.0.35", default-features = false } +syn = { version = "2.0.46", default-features = false, features = ["clone-impls", "full", "parsing", "printing"] } [lib] doc-scrape-examples = false [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/gen/lib/src/error.rs b/gen/lib/src/error.rs index bb53a7fc..79a27bd9 100644 --- a/gen/lib/src/error.rs +++ b/gen/lib/src/error.rs @@ -3,12 +3,23 @@ use std::error::Error as StdError; use std::fmt::{self, Debug, Display}; +use std::iter; #[allow(missing_docs)] pub struct Error { pub(crate) err: crate::gen::Error, } +impl Error { + /// Returns the span of the error, if available. + pub fn span(&self) -> Option<proc_macro2::Span> { + match &self.err { + crate::gen::Error::Syn(err) => Some(err.span()), + _ => None, + } + } +} + impl From<crate::gen::Error> for Error { fn from(err: crate::gen::Error) -> Self { Error { err } @@ -32,3 +43,33 @@ impl StdError for Error { self.err.source() } } + +impl IntoIterator for Error { + type Item = Error; + type IntoIter = IntoIter; + + fn into_iter(self) -> Self::IntoIter { + match self.err { + crate::gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), + _ => IntoIter::Other(iter::once(self)), + } + } +} + +pub enum IntoIter { + Syn(<syn::Error as IntoIterator>::IntoIter), + Other(iter::Once<Error>), +} + +impl Iterator for IntoIter { + type Item = Error; + + fn next(&mut self) -> Option<Self::Item> { + match self { + IntoIter::Syn(iter) => iter + .next() + .map(|syn_err| Error::from(crate::gen::Error::Syn(syn_err))), + IntoIter::Other(iter) => iter.next(), + } + } +} diff --git a/gen/lib/src/lib.rs b/gen/lib/src/lib.rs index 36680b95..12658603 100644 --- a/gen/lib/src/lib.rs +++ b/gen/lib/src/lib.rs @@ -7,7 +7,7 @@ //! [dtolnay/cxx#235]: https://github.com/dtolnay/cxx/issues/235 //! [https://github.com/google/autocxx]: https://github.com/google/autocxx -#![doc(html_root_url = "https://docs.rs/cxx-gen/0.7.93")] +#![doc(html_root_url = "https://docs.rs/cxx-gen/0.7.119")] #![deny(missing_docs)] #![allow(dead_code)] #![allow( @@ -17,27 +17,28 @@ clippy::enum_glob_use, clippy::if_same_then_else, clippy::inherent_to_string, + clippy::into_iter_without_iter, clippy::items_after_statements, clippy::match_bool, clippy::match_on_vec_items, clippy::match_same_arms, clippy::missing_errors_doc, clippy::module_name_repetitions, + clippy::must_use_candidate, clippy::needless_pass_by_value, clippy::new_without_default, clippy::nonminimal_bool, - clippy::option_if_let_else, clippy::or_fun_call, clippy::redundant_else, clippy::shadow_unrelated, clippy::similar_names, clippy::single_match_else, clippy::struct_excessive_bools, + clippy::struct_field_names, clippy::too_many_arguments, clippy::too_many_lines, clippy::toplevel_ref_arg, - // clippy bug: https://github.com/rust-lang/rust-clippy/issues/6983 - clippy::wrong_self_convention + clippy::uninlined_format_args )] mod error; diff --git a/gen/lib/tests/test.rs b/gen/lib/tests/test.rs index d035b522..478daeec 100644 --- a/gen/lib/tests/test.rs +++ b/gen/lib/tests/test.rs @@ -24,5 +24,5 @@ fn test_positive() { fn test_negative() { let rs = quote! {}; let opt = Opt::default(); - assert!(cxx_gen::generate_header_and_cc(rs, &opt).is_err()) + assert!(cxx_gen::generate_header_and_cc(rs, &opt).is_err()); } diff --git a/gen/src/block.rs b/gen/src/block.rs index 96a9a6ee..4e6e6d2b 100644 --- a/gen/src/block.rs +++ b/gen/src/block.rs @@ -1,7 +1,7 @@ use proc_macro2::Ident; #[derive(Copy, Clone, PartialEq, Debug)] -pub enum Block<'a> { +pub(crate) enum Block<'a> { AnonymousNamespace, Namespace(&'static str), UserDefinedNamespace(&'a Ident), @@ -10,7 +10,7 @@ pub enum Block<'a> { } impl<'a> Block<'a> { - pub fn write_begin(self, out: &mut String) { + pub(crate) fn write_begin(self, out: &mut String) { if let Block::InlineNamespace(_) = self { out.push_str("inline "); } @@ -18,7 +18,7 @@ impl<'a> Block<'a> { out.push_str(" {\n"); } - pub fn write_end(self, out: &mut String) { + pub(crate) fn write_end(self, out: &mut String) { out.push_str("} // "); self.write_common(out); out.push('\n'); diff --git a/gen/src/builtin.rs b/gen/src/builtin.rs index 277c64f8..d38473af 100644 --- a/gen/src/builtin.rs +++ b/gen/src/builtin.rs @@ -3,7 +3,7 @@ use crate::gen::ifndef; use crate::gen::out::{Content, OutFile}; #[derive(Default, PartialEq)] -pub struct Builtins<'a> { +pub(crate) struct Builtins<'a> { pub panic: bool, pub rust_string: bool, pub rust_str: bool, @@ -36,7 +36,7 @@ pub struct Builtins<'a> { } impl<'a> Builtins<'a> { - pub fn new() -> Self { + pub(crate) fn new() -> Self { Builtins::default() } } diff --git a/gen/src/cfg.rs b/gen/src/cfg.rs index da589085..adab6e5c 100644 --- a/gen/src/cfg.rs +++ b/gen/src/cfg.rs @@ -4,7 +4,7 @@ use crate::syntax::report::Errors; use crate::syntax::Api; use quote::quote; use std::collections::BTreeSet as Set; -use syn::Error; +use syn::{Error, LitStr}; pub(super) struct UnsupportedCfgEvaluator; @@ -61,7 +61,7 @@ fn try_eval(cfg_evaluator: &dyn CfgEvaluator, expr: &CfgExpr) -> Result<bool, Ve CfgExpr::Unconditional => Ok(true), CfgExpr::Eq(ident, string) => { let key = ident.to_string(); - let value = string.as_ref().map(|string| string.value()); + let value = string.as_ref().map(LitStr::value); match cfg_evaluator.eval(&key, value.as_deref()) { CfgResult::True => Ok(true), CfgResult::False => Ok(false), diff --git a/gen/src/check.rs b/gen/src/check.rs index 15add20a..4b373205 100644 --- a/gen/src/check.rs +++ b/gen/src/check.rs @@ -16,7 +16,7 @@ fn check_dot_includes(cx: &mut Errors, apis: &[Api]) { for api in apis { if let Api::Include(include) = api { let first_component = Path::new(&include.path).components().next(); - if let Some(Component::CurDir) | Some(Component::ParentDir) = first_component { + if let Some(Component::CurDir | Component::ParentDir) = first_component { let begin = quote_spanned!(include.begin_span=> .); let end = quote_spanned!(include.end_span=> .); let span = quote!(#begin #end); diff --git a/gen/src/error.rs b/gen/src/error.rs index 3672e26e..fc42c5c1 100644 --- a/gen/src/error.rs +++ b/gen/src/error.rs @@ -40,7 +40,7 @@ impl StdError for Error { Error::Fs(err) => err.source(), Error::Utf8(_, err) => Some(err), Error::Syn(err) => err.source(), - _ => None, + Error::NoBridgeMod => None, } } } diff --git a/gen/src/file.rs b/gen/src/file.rs index 4e4259ef..d55021aa 100644 --- a/gen/src/file.rs +++ b/gen/src/file.rs @@ -4,7 +4,7 @@ use syn::parse::discouraged::Speculative; use syn::parse::{Error, Parse, ParseStream, Result}; use syn::{braced, Attribute, Ident, Item, Meta, Token, Visibility}; -pub struct File { +pub(crate) struct File { pub modules: Vec<Module>, } diff --git a/gen/src/fs.rs b/gen/src/fs.rs index 7bc3bbcb..a96b551f 100644 --- a/gen/src/fs.rs +++ b/gen/src/fs.rs @@ -14,7 +14,7 @@ pub(crate) struct Error { } impl Error { - pub fn kind(&self) -> io::ErrorKind { + pub(crate) fn kind(&self) -> io::ErrorKind { match &self.source { Some(io_error) => io_error.kind(), None => io::ErrorKind::Other, diff --git a/gen/src/include.rs b/gen/src/include.rs index 62c92320..3b137c7e 100644 --- a/gen/src/include.rs +++ b/gen/src/include.rs @@ -19,7 +19,7 @@ pub struct Include { } #[derive(Default, PartialEq)] -pub struct Includes<'a> { +pub(crate) struct Includes<'a> { pub custom: Vec<Include>, pub algorithm: bool, pub array: bool, @@ -44,15 +44,15 @@ pub struct Includes<'a> { } impl<'a> Includes<'a> { - pub fn new() -> Self { + pub(crate) fn new() -> Self { Includes::default() } - pub fn insert(&mut self, include: impl Into<Include>) { + pub(crate) fn insert(&mut self, include: impl Into<Include>) { self.custom.push(include.into()); } - pub fn has_cxx_header(&self) -> bool { + pub(crate) fn has_cxx_header(&self) -> bool { self.custom .iter() .any(|header| header.path == "rust/cxx.h" || header.path == "rust\\cxx.h") diff --git a/gen/src/mod.rs b/gen/src/mod.rs index f24846a7..7e8ff287 100644 --- a/gen/src/mod.rs +++ b/gen/src/mod.rs @@ -124,7 +124,6 @@ fn generate_from_string(source: &str, opt: &Opt) -> Result<GeneratedCode> { let shebang_end = source.find('\n').unwrap_or(source.len()); source = &source[shebang_end..]; } - proc_macro2::fallback::force(); let syntax: File = syn::parse_str(source)?; generate(syntax, opt) } diff --git a/gen/src/names.rs b/gen/src/names.rs index 834424bb..620aaa85 100644 --- a/gen/src/names.rs +++ b/gen/src/names.rs @@ -1,7 +1,7 @@ use crate::syntax::Pair; impl Pair { - pub fn to_fully_qualified(&self) -> String { + pub(crate) fn to_fully_qualified(&self) -> String { let mut fully_qualified = String::new(); for segment in &self.namespace { fully_qualified += "::"; diff --git a/gen/src/namespace.rs b/gen/src/namespace.rs index b79c38f9..424e9d8e 100644 --- a/gen/src/namespace.rs +++ b/gen/src/namespace.rs @@ -2,7 +2,7 @@ use crate::syntax::namespace::Namespace; use crate::syntax::Api; impl Api { - pub fn namespace(&self) -> &Namespace { + pub(crate) fn namespace(&self) -> &Namespace { match self { Api::CxxFunction(efn) | Api::RustFunction(efn) => &efn.name.namespace, Api::CxxType(ety) | Api::RustType(ety) => &ety.name.namespace, diff --git a/gen/src/nested.rs b/gen/src/nested.rs index 32cc5f15..7b326664 100644 --- a/gen/src/nested.rs +++ b/gen/src/nested.rs @@ -2,21 +2,23 @@ use crate::syntax::map::UnorderedMap as Map; use crate::syntax::Api; use proc_macro2::Ident; -pub struct NamespaceEntries<'a> { +pub(crate) struct NamespaceEntries<'a> { direct: Vec<&'a Api>, nested: Vec<(&'a Ident, NamespaceEntries<'a>)>, } impl<'a> NamespaceEntries<'a> { - pub fn new(apis: Vec<&'a Api>) -> Self { + pub(crate) fn new(apis: Vec<&'a Api>) -> Self { sort_by_inner_namespace(apis, 0) } - pub fn direct_content(&self) -> &[&'a Api] { + pub(crate) fn direct_content(&self) -> &[&'a Api] { &self.direct } - pub fn nested_content(&self) -> impl Iterator<Item = (&'a Ident, &NamespaceEntries<'a>)> { + pub(crate) fn nested_content( + &self, + ) -> impl Iterator<Item = (&'a Ident, &NamespaceEntries<'a>)> { self.nested.iter().map(|(k, entries)| (*k, entries)) } } @@ -56,7 +58,6 @@ mod tests { use crate::syntax::namespace::Namespace; use crate::syntax::{Api, Doc, ExternType, ForeignName, Lang, Lifetimes, Pair}; use proc_macro2::{Ident, Span}; - use std::iter::FromIterator; use syn::punctuated::Punctuated; use syn::Token; diff --git a/gen/src/out.rs b/gen/src/out.rs index 3b4d7392..1cce3635 100644 --- a/gen/src/out.rs +++ b/gen/src/out.rs @@ -17,7 +17,7 @@ pub(crate) struct OutFile<'a> { } #[derive(Default)] -pub struct Content<'a> { +pub(crate) struct Content<'a> { bytes: String, namespace: &'a Namespace, blocks: Vec<BlockBoundary<'a>>, @@ -32,7 +32,7 @@ enum BlockBoundary<'a> { } impl<'a> OutFile<'a> { - pub fn new(header: bool, opt: &'a Opt, types: &'a Types) -> Self { + pub(crate) fn new(header: bool, opt: &'a Opt, types: &'a Types) -> Self { OutFile { header, opt, @@ -44,28 +44,28 @@ impl<'a> OutFile<'a> { } // Write a blank line if the preceding section had any contents. - pub fn next_section(&mut self) { + pub(crate) fn next_section(&mut self) { self.content.get_mut().next_section(); } - pub fn begin_block(&mut self, block: Block<'a>) { + pub(crate) fn begin_block(&mut self, block: Block<'a>) { self.content.get_mut().begin_block(block); } - pub fn end_block(&mut self, block: Block<'a>) { + pub(crate) fn end_block(&mut self, block: Block<'a>) { self.content.get_mut().end_block(block); } - pub fn set_namespace(&mut self, namespace: &'a Namespace) { + pub(crate) fn set_namespace(&mut self, namespace: &'a Namespace) { self.content.get_mut().set_namespace(namespace); } - pub fn write_fmt(&self, args: Arguments) { + pub(crate) fn write_fmt(&self, args: Arguments) { let content = &mut *self.content.borrow_mut(); Write::write_fmt(content, args).unwrap(); } - pub fn content(&mut self) -> Vec<u8> { + pub(crate) fn content(&mut self) -> Vec<u8> { self.flush(); let include = &self.include.content.bytes; let builtin = &self.builtin.content.bytes; @@ -112,19 +112,19 @@ impl<'a> Content<'a> { Content::default() } - pub fn next_section(&mut self) { + pub(crate) fn next_section(&mut self) { self.section_pending = true; } - pub fn begin_block(&mut self, block: Block<'a>) { + pub(crate) fn begin_block(&mut self, block: Block<'a>) { self.push_block_boundary(BlockBoundary::Begin(block)); } - pub fn end_block(&mut self, block: Block<'a>) { + pub(crate) fn end_block(&mut self, block: Block<'a>) { self.push_block_boundary(BlockBoundary::End(block)); } - pub fn set_namespace(&mut self, namespace: &'a Namespace) { + pub(crate) fn set_namespace(&mut self, namespace: &'a Namespace) { for name in self.namespace.iter().rev() { self.end_block(Block::UserDefinedNamespace(name)); } @@ -134,7 +134,7 @@ impl<'a> Content<'a> { self.namespace = namespace; } - pub fn write_fmt(&mut self, args: Arguments) { + pub(crate) fn write_fmt(&mut self, args: Arguments) { Write::write_fmt(self, args).unwrap(); } diff --git a/gen/src/write.rs b/gen/src/write.rs index 6f535ccb..89037e16 100644 --- a/gen/src/write.rs +++ b/gen/src/write.rs @@ -85,10 +85,10 @@ fn write_data_structures<'a>(out: &mut OutFile<'a>, apis: &'a [Api]) { match api { Api::Struct(strct) if !structs_written.contains(&strct.name.rust) => { for next in &mut toposorted_structs { - if !out.types.cxx.contains(&strct.name.rust) { + if !out.types.cxx.contains(&next.name.rust) { out.next_section(); let methods = methods_for_type - .get(&strct.name.rust) + .get(&next.name.rust) .map(Vec::as_slice) .unwrap_or_default(); write_struct(out, next, methods); @@ -129,7 +129,7 @@ fn write_data_structures<'a>(out: &mut OutFile<'a>, apis: &'a [Api]) { for api in apis { if let Api::TypeAlias(ety) = api { if let Some(reasons) = out.types.required_trivial.get(&ety.name.rust) { - check_trivial_extern_type(out, ety, reasons) + check_trivial_extern_type(out, ety, reasons); } } } @@ -205,13 +205,12 @@ fn pick_includes_and_builtins(out: &mut OutFile, apis: &[Api]) { for ty in out.types { match ty { Type::Ident(ident) => match Atom::from(&ident.rust) { - Some(U8) | Some(U16) | Some(U32) | Some(U64) | Some(I8) | Some(I16) | Some(I32) - | Some(I64) => out.include.cstdint = true, + Some(U8 | U16 | U32 | U64 | I8 | I16 | I32 | I64) => out.include.cstdint = true, Some(Usize) => out.include.cstddef = true, Some(Isize) => out.builtin.rust_isize = true, Some(CxxString) => out.include.string = true, Some(RustString) => out.builtin.rust_string = true, - Some(Bool) | Some(Char) | Some(F32) | Some(F64) | None => {} + Some(Bool | Char | F32 | F64) | None => {} }, Type::RustBox(_) => out.builtin.rust_box = true, Type::RustVec(_) => out.builtin.rust_vec = true, @@ -848,7 +847,7 @@ fn write_cxx_function_shim<'a>(out: &mut OutFile<'a>, efn: &'a ExternFn) { match &efn.ret { Some(Type::RustBox(_)) => write!(out, ".into_raw()"), Some(Type::UniquePtr(_)) => write!(out, ".release()"), - Some(Type::Str(_)) | Some(Type::SliceRef(_)) if !indirect_return => write!(out, ")"), + Some(Type::Str(_) | Type::SliceRef(_)) if !indirect_return => write!(out, ")"), _ => {} } if indirect_return { @@ -1182,7 +1181,7 @@ fn write_indirect_return_type_space(out: &mut OutFile, ty: &Type) { fn write_extern_return_type_space(out: &mut OutFile, ty: &Option<Type>) { match ty { - Some(Type::RustBox(ty)) | Some(Type::UniquePtr(ty)) => { + Some(Type::RustBox(ty) | Type::UniquePtr(ty)) => { write_type_space(out, &ty.inner); write!(out, "*"); } @@ -1193,7 +1192,7 @@ fn write_extern_return_type_space(out: &mut OutFile, ty: &Option<Type>) { } write!(out, "*"); } - Some(Type::Str(_)) | Some(Type::SliceRef(_)) => { + Some(Type::Str(_) | Type::SliceRef(_)) => { out.builtin.repr_fat = true; write!(out, "::rust::repr::Fat "); } @@ -1672,6 +1671,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { "static_assert(alignof(::std::unique_ptr<{}>) == alignof(void *), \"\");", inner, ); + begin_function_definition(out); writeln!( out, @@ -1680,6 +1680,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { ); writeln!(out, " ::new (ptr) ::std::unique_ptr<{}>();", inner); writeln!(out, "}}"); + if can_construct_from_value { out.builtin.maybe_uninit = true; begin_function_definition(out); @@ -1697,6 +1698,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { writeln!(out, " return uninit;"); writeln!(out, "}}"); } + begin_function_definition(out); writeln!( out, @@ -1705,6 +1707,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { ); writeln!(out, " ::new (ptr) ::std::unique_ptr<{}>(raw);", inner); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1713,6 +1716,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { ); writeln!(out, " return ptr.get();"); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1721,6 +1725,7 @@ fn write_unique_ptr_common(out: &mut OutFile, ty: UniquePtr) { ); writeln!(out, " return ptr.release();"); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1765,6 +1770,7 @@ fn write_shared_ptr(out: &mut OutFile, key: NamedImplKey) { "static_assert(alignof(::std::shared_ptr<{}>) == alignof(void *), \"\");", inner, ); + begin_function_definition(out); writeln!( out, @@ -1773,6 +1779,7 @@ fn write_shared_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " ::new (ptr) ::std::shared_ptr<{}>();", inner); writeln!(out, "}}"); + if can_construct_from_value { out.builtin.maybe_uninit = true; begin_function_definition(out); @@ -1790,6 +1797,7 @@ fn write_shared_ptr(out: &mut OutFile, key: NamedImplKey) { writeln!(out, " return uninit;"); writeln!(out, "}}"); } + begin_function_definition(out); writeln!( out, @@ -1798,6 +1806,7 @@ fn write_shared_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " ::new (ptr) ::std::shared_ptr<{}>(self);", inner); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1806,6 +1815,7 @@ fn write_shared_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " return self.get();"); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1834,6 +1844,8 @@ fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) { "static_assert(alignof(::std::weak_ptr<{}>) == alignof(void *), \"\");", inner, ); + + begin_function_definition(out); writeln!( out, "void cxxbridge1$weak_ptr${}$null(::std::weak_ptr<{}> *ptr) noexcept {{", @@ -1841,6 +1853,7 @@ fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " ::new (ptr) ::std::weak_ptr<{}>();", inner); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1849,6 +1862,7 @@ fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " ::new (ptr) ::std::weak_ptr<{}>(self);", inner); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1857,6 +1871,7 @@ fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) { ); writeln!(out, " ::new (weak) ::std::weak_ptr<{}>(shared);", inner); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1869,6 +1884,7 @@ fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) { inner, ); writeln!(out, "}}"); + begin_function_definition(out); writeln!( out, @@ -1888,6 +1904,16 @@ fn write_cxx_vector(out: &mut OutFile, key: NamedImplKey) { out.include.utility = true; out.builtin.destroy = true; + begin_function_definition(out); + writeln!( + out, + "::std::vector<{}> *cxxbridge1$std$vector${}$new() noexcept {{", + inner, instance, + ); + writeln!(out, " return new ::std::vector<{}>();", inner); + writeln!(out, "}}"); + + begin_function_definition(out); writeln!( out, "::std::size_t cxxbridge1$std$vector${}$size(::std::vector<{}> const &s) noexcept {{", diff --git a/include/cxx.h b/include/cxx.h index 907ee829..00228255 100644 --- a/include/cxx.h +++ b/include/cxx.h @@ -659,7 +659,8 @@ typename Slice<T>::iterator::difference_type Slice<T>::iterator::operator-(const iterator &other) const noexcept { auto diff = std::distance(static_cast<char *>(other.pos), static_cast<char *>(this->pos)); - return diff / this->stride; + return diff / static_cast<typename Slice<T>::iterator::difference_type>( + this->stride); } template <typename T> diff --git a/macro/Android.bp b/macro/Android.bp index f833c436..d5a74052 100644 --- a/macro/Android.bp +++ b/macro/Android.bp @@ -17,7 +17,7 @@ rust_proc_macro { cargo_env_compat: true, cargo_pkg_version: "1.0.93", srcs: ["src/lib.rs"], - edition: "2018", + edition: "2021", rustlibs: [ "libproc_macro2", "libquote", diff --git a/macro/Cargo.toml b/macro/Cargo.toml index 89d97022..c81bc093 100644 --- a/macro/Cargo.toml +++ b/macro/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "cxxbridge-macro" -version = "1.0.93" +version = "1.0.119" authors = ["David Tolnay <dtolnay@gmail.com>"] categories = ["development-tools::ffi"] description = "Implementation detail of the `cxx` crate." -edition = "2018" +edition = "2021" exclude = ["build.rs", "README.md"] homepage = "https://cxx.rs" keywords = ["ffi"] @@ -18,22 +18,24 @@ proc-macro = true [features] # incomplete features that are not covered by a compatibility guarantee: experimental-async-fn = [] -experimental-enum-variants-from-header = ["clang-ast", "flate2", "memmap", "serde", "serde_json"] +experimental-enum-variants-from-header = ["clang-ast", "flate2", "memmap", "serde", "serde_derive", "serde_json"] [dependencies] -proc-macro2 = "1.0.39" -quote = "1.0.4" -syn = { version = "2.0.1", features = ["full"] } +proc-macro2 = "1.0.74" +quote = "1.0.35" +syn = { version = "2.0.46", features = ["full"] } # optional dependencies: -clang-ast = { version = "0.1", optional = true } -flate2 = { version = "1.0", optional = true } +clang-ast = { version = "0.1.18", optional = true } +flate2 = { version = "1.0.26", optional = true } memmap = { version = "0.7", optional = true } -serde = { version = "1.0", optional = true, features = ["derive"] } -serde_json = { version = "1.0", optional = true } +serde = { version = "1.0.166", optional = true } +serde_derive = { version = "1.0.166", optional = true } +serde_json = { version = "1.0.100", optional = true } [dev-dependencies] cxx = { version = "1.0", path = ".." } [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/macro/src/clang.rs b/macro/src/clang.rs index 381e5086..09efc1ec 100644 --- a/macro/src/clang.rs +++ b/macro/src/clang.rs @@ -1,9 +1,9 @@ -use serde::{Deserialize, Serialize}; +use serde_derive::{Deserialize, Serialize}; -pub type Node = clang_ast::Node<Clang>; +pub(crate) type Node = clang_ast::Node<Clang>; #[derive(Deserialize, Serialize)] -pub enum Clang { +pub(crate) enum Clang { NamespaceDecl(NamespaceDecl), EnumDecl(EnumDecl), EnumConstantDecl(EnumConstantDecl), @@ -13,13 +13,13 @@ pub enum Clang { } #[derive(Deserialize, Serialize)] -pub struct NamespaceDecl { +pub(crate) struct NamespaceDecl { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option<Box<str>>, } #[derive(Deserialize, Serialize)] -pub struct EnumDecl { +pub(crate) struct EnumDecl { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option<Box<str>>, #[serde( @@ -30,17 +30,17 @@ pub struct EnumDecl { } #[derive(Deserialize, Serialize)] -pub struct EnumConstantDecl { +pub(crate) struct EnumConstantDecl { pub name: Box<str>, } #[derive(Deserialize, Serialize)] -pub struct ConstantExpr { +pub(crate) struct ConstantExpr { pub value: Box<str>, } #[derive(Deserialize, Serialize)] -pub struct Type { +pub(crate) struct Type { #[serde(rename = "qualType")] pub qual_type: Box<str>, #[serde(rename = "desugaredQualType", skip_serializing_if = "Option::is_none")] diff --git a/macro/src/derive.rs b/macro/src/derive.rs index e1d8d69e..a439bf90 100644 --- a/macro/src/derive.rs +++ b/macro/src/derive.rs @@ -1,10 +1,13 @@ -use crate::syntax::{derive, Enum, Struct, Trait}; +use crate::syntax::{derive, Enum, Struct}; use proc_macro2::{Ident, Span, TokenStream}; use quote::{quote, quote_spanned, ToTokens}; -pub use crate::syntax::derive::*; +pub(crate) use crate::syntax::derive::*; -pub fn expand_struct(strct: &Struct, actual_derives: &mut Option<TokenStream>) -> TokenStream { +pub(crate) fn expand_struct( + strct: &Struct, + actual_derives: &mut Option<TokenStream>, +) -> TokenStream { let mut expanded = TokenStream::new(); let mut traits = Vec::new(); @@ -35,7 +38,7 @@ pub fn expand_struct(strct: &Struct, actual_derives: &mut Option<TokenStream>) - expanded } -pub fn expand_enum(enm: &Enum, actual_derives: &mut Option<TokenStream>) -> TokenStream { +pub(crate) fn expand_enum(enm: &Enum, actual_derives: &mut Option<TokenStream>) -> TokenStream { let mut expanded = TokenStream::new(); let mut traits = Vec::new(); let mut has_copy = false; @@ -212,6 +215,8 @@ fn struct_partial_ord(strct: &Struct, span: Span) -> TokenStream { quote_spanned! {span=> impl #generics ::cxx::core::cmp::PartialOrd for #ident #generics { + #[allow(clippy::non_canonical_partial_ord_impl)] + #[allow(renamed_and_removed_lints, clippy::incorrect_partial_ord_impl_on_ord_type)] // Rust 1.73 and older fn partial_cmp(&self, other: &Self) -> ::cxx::core::option::Option<::cxx::core::cmp::Ordering> { #body } @@ -280,6 +285,8 @@ fn enum_partial_ord(enm: &Enum, span: Span) -> TokenStream { quote_spanned! {span=> impl ::cxx::core::cmp::PartialOrd for #ident { + #[allow(clippy::non_canonical_partial_ord_impl)] + #[allow(renamed_and_removed_lints, clippy::incorrect_partial_ord_impl_on_ord_type)] // Rust 1.73 and older fn partial_cmp(&self, other: &Self) -> ::cxx::core::option::Option<::cxx::core::cmp::Ordering> { ::cxx::core::cmp::PartialOrd::partial_cmp(&self.repr, &other.repr) } diff --git a/macro/src/expand.rs b/macro/src/expand.rs index bd0a2063..8a0db43f 100644 --- a/macro/src/expand.rs +++ b/macro/src/expand.rs @@ -17,7 +17,7 @@ use quote::{format_ident, quote, quote_spanned, ToTokens}; use std::mem; use syn::{parse_quote, punctuated, Generics, Lifetime, Result, Token}; -pub fn bridge(mut ffi: Module) -> Result<TokenStream> { +pub(crate) fn bridge(mut ffi: Module) -> Result<TokenStream> { let ref mut errors = Errors::new(); let mut cfg = CfgExpr::Unconditional; @@ -142,8 +142,12 @@ fn expand(ffi: Module, doc: Doc, attrs: OtherAttrs, apis: &[Api], types: &Types) #[allow( non_camel_case_types, non_snake_case, + unused_unsafe, // FIXME: only needed by rustc 1.64 and older clippy::extra_unused_type_parameters, + clippy::items_after_statements, + clippy::no_effect_underscore_binding, clippy::ptr_as_ptr, + clippy::ref_as_ptr, clippy::upper_case_acronyms, clippy::use_self, )] @@ -717,12 +721,9 @@ fn expand_cxx_function_shim(efn: &ExternFn, types: &Types) -> TokenStream { expr = quote_spanned!(span=> ::cxx::core::result::Result::Ok(#expr)); } }; - let mut dispatch = quote!(#setup #expr); + let dispatch = quote_spanned!(span=> unsafe { #setup #expr }); let visibility = efn.visibility; let unsafety = &efn.sig.unsafety; - if unsafety.is_none() { - dispatch = quote_spanned!(span=> unsafe { #dispatch }); - } let fn_token = efn.sig.fn_token; let ident = &efn.name.rust; let generics = &efn.generics; @@ -984,22 +985,31 @@ fn expand_rust_function_shim_impl( }); let all_args = receiver.into_iter().chain(args); + let mut requires_unsafe = false; let arg_vars = sig.args.iter().map(|arg| { let var = &arg.name.rust; let span = var.span(); match &arg.ty { Type::Ident(i) if i.rust == RustString => { + requires_unsafe = true; quote_spanned!(span=> ::cxx::core::mem::take((*#var).as_mut_string())) } - Type::RustBox(_) => quote_spanned!(span=> ::cxx::alloc::boxed::Box::from_raw(#var)), + Type::RustBox(_) => { + requires_unsafe = true; + quote_spanned!(span=> ::cxx::alloc::boxed::Box::from_raw(#var)) + } Type::RustVec(vec) => { + requires_unsafe = true; if vec.inner == RustString { quote_spanned!(span=> ::cxx::core::mem::take((*#var).as_mut_vec_string())) } else { quote_spanned!(span=> ::cxx::core::mem::take((*#var).as_mut_vec())) } } - Type::UniquePtr(_) => quote_spanned!(span=> ::cxx::UniquePtr::from_raw(#var)), + Type::UniquePtr(_) => { + requires_unsafe = true; + quote_spanned!(span=> ::cxx::UniquePtr::from_raw(#var)) + } Type::Ref(ty) => match &ty.inner { Type::Ident(i) if i.rust == RustString => match ty.mutable { false => quote_spanned!(span=> #var.as_string()), @@ -1015,8 +1025,12 @@ fn expand_rust_function_shim_impl( }, _ => quote!(#var), }, - Type::Str(_) => quote_spanned!(span=> #var.as_str()), + Type::Str(_) => { + requires_unsafe = true; + quote_spanned!(span=> #var.as_str()) + } Type::SliceRef(slice) => { + requires_unsafe = true; let inner = &slice.inner; match slice.mutable { false => quote_spanned!(span=> #var.as_slice::<#inner>()), @@ -1024,6 +1038,7 @@ fn expand_rust_function_shim_impl( } } ty if types.needs_indirect_abi(ty) => { + requires_unsafe = true; quote_spanned!(span=> ::cxx::core::ptr::read(#var)) } _ => quote!(#var), @@ -1041,6 +1056,7 @@ fn expand_rust_function_shim_impl( } None => { requires_closure = true; + requires_unsafe = true; quote!(::cxx::core::mem::transmute::<*const (), #sig>(__extern)) } }; @@ -1108,12 +1124,18 @@ fn expand_rust_function_shim_impl( None => quote_spanned!(span=> &mut ()), }; requires_closure = true; + requires_unsafe = true; expr = quote_spanned!(span=> ::cxx::private::r#try(#out, #expr)); } else if indirect_return { requires_closure = true; + requires_unsafe = true; expr = quote_spanned!(span=> ::cxx::core::ptr::write(__return, #expr)); } + if requires_unsafe { + expr = quote_spanned!(span=> unsafe { #expr }); + } + let closure = if requires_closure { quote_spanned!(span=> move || #expr) } else { @@ -1192,9 +1214,14 @@ fn expand_rust_function_shim_super( } }; + let mut body = quote_spanned!(span=> #call(#(#vars,)*)); + if unsafety.is_some() { + body = quote_spanned!(span=> unsafe { #body }); + } + quote_spanned! {span=> #unsafety fn #local_name #generics(#(#all_args,)*) #ret { - #call(#(#vars,)*) + #body } } } @@ -1285,13 +1312,13 @@ fn expand_rust_box(key: NamedImplKey, types: &Types, explicit_impl: Option<&Impl #[export_name = #link_dealloc] unsafe extern "C" fn #local_dealloc #impl_generics(ptr: *mut ::cxx::core::mem::MaybeUninit<#ident #ty_generics>) { // No prevent_unwind: the global allocator is not allowed to panic. - let _ = ::cxx::alloc::boxed::Box::from_raw(ptr); + let _ = unsafe { ::cxx::alloc::boxed::Box::from_raw(ptr) }; } #[doc(hidden)] #[export_name = #link_drop] unsafe extern "C" fn #local_drop #impl_generics(this: *mut ::cxx::alloc::boxed::Box<#ident #ty_generics>) { let __fn = concat!("<", module_path!(), #prevent_unwind_drop_label); - ::cxx::private::prevent_unwind(__fn, || ::cxx::core::ptr::drop_in_place(this)); + ::cxx::private::prevent_unwind(__fn, || unsafe { ::cxx::core::ptr::drop_in_place(this) }); } } } @@ -1333,49 +1360,61 @@ fn expand_rust_vec(key: NamedImplKey, types: &Types, explicit_impl: Option<&Impl #[export_name = #link_new] unsafe extern "C" fn #local_new #impl_generics(this: *mut ::cxx::private::RustVec<#elem #ty_generics>) { // No prevent_unwind: cannot panic. - ::cxx::core::ptr::write(this, ::cxx::private::RustVec::new()); + unsafe { + ::cxx::core::ptr::write(this, ::cxx::private::RustVec::new()); + } } #[doc(hidden)] #[export_name = #link_drop] unsafe extern "C" fn #local_drop #impl_generics(this: *mut ::cxx::private::RustVec<#elem #ty_generics>) { let __fn = concat!("<", module_path!(), #prevent_unwind_drop_label); - ::cxx::private::prevent_unwind(__fn, || ::cxx::core::ptr::drop_in_place(this)); + ::cxx::private::prevent_unwind( + __fn, + || unsafe { ::cxx::core::ptr::drop_in_place(this) }, + ); } #[doc(hidden)] #[export_name = #link_len] unsafe extern "C" fn #local_len #impl_generics(this: *const ::cxx::private::RustVec<#elem #ty_generics>) -> usize { // No prevent_unwind: cannot panic. - (*this).len() + unsafe { (*this).len() } } #[doc(hidden)] #[export_name = #link_capacity] unsafe extern "C" fn #local_capacity #impl_generics(this: *const ::cxx::private::RustVec<#elem #ty_generics>) -> usize { // No prevent_unwind: cannot panic. - (*this).capacity() + unsafe { (*this).capacity() } } #[doc(hidden)] #[export_name = #link_data] unsafe extern "C" fn #local_data #impl_generics(this: *const ::cxx::private::RustVec<#elem #ty_generics>) -> *const #elem #ty_generics { // No prevent_unwind: cannot panic. - (*this).as_ptr() + unsafe { (*this).as_ptr() } } #[doc(hidden)] #[export_name = #link_reserve_total] unsafe extern "C" fn #local_reserve_total #impl_generics(this: *mut ::cxx::private::RustVec<#elem #ty_generics>, new_cap: usize) { // No prevent_unwind: the global allocator is not allowed to panic. - (*this).reserve_total(new_cap); + unsafe { + (*this).reserve_total(new_cap); + } } #[doc(hidden)] #[export_name = #link_set_len] unsafe extern "C" fn #local_set_len #impl_generics(this: *mut ::cxx::private::RustVec<#elem #ty_generics>, len: usize) { // No prevent_unwind: cannot panic. - (*this).set_len(len); + unsafe { + (*this).set_len(len); + } } #[doc(hidden)] #[export_name = #link_truncate] unsafe extern "C" fn #local_truncate #impl_generics(this: *mut ::cxx::private::RustVec<#elem #ty_generics>, len: usize) { let __fn = concat!("<", module_path!(), #prevent_unwind_drop_label); - ::cxx::private::prevent_unwind(__fn, || (*this).truncate(len)); + ::cxx::private::prevent_unwind( + __fn, + || unsafe { (*this).truncate(len) }, + ); } } } @@ -1407,7 +1446,9 @@ fn expand_unique_ptr( fn __uninit(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *mut ::cxx::core::ffi::c_void; } let mut repr = ::cxx::core::mem::MaybeUninit::uninit(); - unsafe { __uninit(&mut repr).cast::<#ident #ty_generics>().write(value) } + unsafe { + __uninit(&mut repr).cast::<#ident #ty_generics>().write(value); + } repr } }) @@ -1430,7 +1471,9 @@ fn expand_unique_ptr( fn __null(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>); } let mut repr = ::cxx::core::mem::MaybeUninit::uninit(); - unsafe { __null(&mut repr) } + unsafe { + __null(&mut repr); + } repr } #new_method @@ -1440,7 +1483,9 @@ fn expand_unique_ptr( fn __raw(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>, raw: *mut ::cxx::core::ffi::c_void); } let mut repr = ::cxx::core::mem::MaybeUninit::uninit(); - __raw(&mut repr, raw.cast()); + unsafe { + __raw(&mut repr, raw.cast()); + } repr } unsafe fn __get(repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *const Self { @@ -1448,21 +1493,23 @@ fn expand_unique_ptr( #[link_name = #link_get] fn __get(this: *const ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *const ::cxx::core::ffi::c_void; } - __get(&repr).cast() + unsafe { __get(&repr).cast() } } unsafe fn __release(mut repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *mut Self { extern "C" { #[link_name = #link_release] fn __release(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *mut ::cxx::core::ffi::c_void; } - __release(&mut repr).cast() + unsafe { __release(&mut repr).cast() } } unsafe fn __drop(mut repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) { extern "C" { #[link_name = #link_drop] fn __drop(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>); } - __drop(&mut repr); + unsafe { + __drop(&mut repr); + } } } } @@ -1493,7 +1540,9 @@ fn expand_shared_ptr( #[link_name = #link_uninit] fn __uninit(new: *mut ::cxx::core::ffi::c_void) -> *mut ::cxx::core::ffi::c_void; } - __uninit(new).cast::<#ident #ty_generics>().write(value); + unsafe { + __uninit(new).cast::<#ident #ty_generics>().write(value); + } } }) } else { @@ -1514,7 +1563,9 @@ fn expand_shared_ptr( #[link_name = #link_null] fn __null(new: *mut ::cxx::core::ffi::c_void); } - __null(new); + unsafe { + __null(new); + } } #new_method unsafe fn __clone(this: *const ::cxx::core::ffi::c_void, new: *mut ::cxx::core::ffi::c_void) { @@ -1522,21 +1573,25 @@ fn expand_shared_ptr( #[link_name = #link_clone] fn __clone(this: *const ::cxx::core::ffi::c_void, new: *mut ::cxx::core::ffi::c_void); } - __clone(this, new); + unsafe { + __clone(this, new); + } } unsafe fn __get(this: *const ::cxx::core::ffi::c_void) -> *const Self { extern "C" { #[link_name = #link_get] fn __get(this: *const ::cxx::core::ffi::c_void) -> *const ::cxx::core::ffi::c_void; } - __get(this).cast() + unsafe { __get(this).cast() } } unsafe fn __drop(this: *mut ::cxx::core::ffi::c_void) { extern "C" { #[link_name = #link_drop] fn __drop(this: *mut ::cxx::core::ffi::c_void); } - __drop(this); + unsafe { + __drop(this); + } } } } @@ -1569,35 +1624,45 @@ fn expand_weak_ptr(key: NamedImplKey, types: &Types, explicit_impl: Option<&Impl #[link_name = #link_null] fn __null(new: *mut ::cxx::core::ffi::c_void); } - __null(new); + unsafe { + __null(new); + } } unsafe fn __clone(this: *const ::cxx::core::ffi::c_void, new: *mut ::cxx::core::ffi::c_void) { extern "C" { #[link_name = #link_clone] fn __clone(this: *const ::cxx::core::ffi::c_void, new: *mut ::cxx::core::ffi::c_void); } - __clone(this, new); + unsafe { + __clone(this, new); + } } unsafe fn __downgrade(shared: *const ::cxx::core::ffi::c_void, weak: *mut ::cxx::core::ffi::c_void) { extern "C" { #[link_name = #link_downgrade] fn __downgrade(shared: *const ::cxx::core::ffi::c_void, weak: *mut ::cxx::core::ffi::c_void); } - __downgrade(shared, weak); + unsafe { + __downgrade(shared, weak); + } } unsafe fn __upgrade(weak: *const ::cxx::core::ffi::c_void, shared: *mut ::cxx::core::ffi::c_void) { extern "C" { #[link_name = #link_upgrade] fn __upgrade(weak: *const ::cxx::core::ffi::c_void, shared: *mut ::cxx::core::ffi::c_void); } - __upgrade(weak, shared); + unsafe { + __upgrade(weak, shared); + } } unsafe fn __drop(this: *mut ::cxx::core::ffi::c_void) { extern "C" { #[link_name = #link_drop] fn __drop(this: *mut ::cxx::core::ffi::c_void); } - __drop(this); + unsafe { + __drop(this); + } } } } @@ -1612,6 +1677,7 @@ fn expand_cxx_vector( let name = elem.to_string(); let resolve = types.resolve(elem); let prefix = format!("cxxbridge1$std$vector${}$", resolve.name.to_symbol()); + let link_new = format!("{}new", prefix); let link_size = format!("{}size", prefix); let link_get_unchecked = format!("{}get_unchecked", prefix); let link_push_back = format!("{}push_back", prefix); @@ -1646,7 +1712,12 @@ fn expand_cxx_vector( value: *mut ::cxx::core::ffi::c_void, ); } - __push_back(this, value as *mut ::cxx::core::mem::ManuallyDrop<Self> as *mut ::cxx::core::ffi::c_void); + unsafe { + __push_back( + this, + value as *mut ::cxx::core::mem::ManuallyDrop<Self> as *mut ::cxx::core::ffi::c_void, + ); + } } unsafe fn __pop_back( this: ::cxx::core::pin::Pin<&mut ::cxx::CxxVector<Self>>, @@ -1659,7 +1730,12 @@ fn expand_cxx_vector( out: *mut ::cxx::core::ffi::c_void, ); } - __pop_back(this, out as *mut ::cxx::core::mem::MaybeUninit<Self> as *mut ::cxx::core::ffi::c_void); + unsafe { + __pop_back( + this, + out as *mut ::cxx::core::mem::MaybeUninit<Self> as *mut ::cxx::core::ffi::c_void, + ); + } } }) } else { @@ -1671,6 +1747,13 @@ fn expand_cxx_vector( fn __typename(f: &mut ::cxx::core::fmt::Formatter<'_>) -> ::cxx::core::fmt::Result { f.write_str(#name) } + fn __vector_new() -> *mut ::cxx::CxxVector<Self> { + extern "C" { + #[link_name = #link_new] + fn __vector_new #impl_generics() -> *mut ::cxx::CxxVector<#elem #ty_generics>; + } + unsafe { __vector_new() } + } fn __vector_size(v: &::cxx::CxxVector<Self>) -> usize { extern "C" { #[link_name = #link_size] @@ -1686,7 +1769,7 @@ fn expand_cxx_vector( pos: usize, ) -> *mut ::cxx::core::ffi::c_void; } - __get_unchecked(v, pos) as *mut Self + unsafe { __get_unchecked(v, pos) as *mut Self } } #by_value_methods fn __unique_ptr_null() -> ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void> { @@ -1695,7 +1778,9 @@ fn expand_cxx_vector( fn __unique_ptr_null(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>); } let mut repr = ::cxx::core::mem::MaybeUninit::uninit(); - unsafe { __unique_ptr_null(&mut repr) } + unsafe { + __unique_ptr_null(&mut repr); + } repr } unsafe fn __unique_ptr_raw(raw: *mut ::cxx::CxxVector<Self>) -> ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void> { @@ -1704,7 +1789,9 @@ fn expand_cxx_vector( fn __unique_ptr_raw #impl_generics(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>, raw: *mut ::cxx::CxxVector<#elem #ty_generics>); } let mut repr = ::cxx::core::mem::MaybeUninit::uninit(); - __unique_ptr_raw(&mut repr, raw); + unsafe { + __unique_ptr_raw(&mut repr, raw); + } repr } unsafe fn __unique_ptr_get(repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *const ::cxx::CxxVector<Self> { @@ -1712,21 +1799,23 @@ fn expand_cxx_vector( #[link_name = #link_unique_ptr_get] fn __unique_ptr_get #impl_generics(this: *const ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *const ::cxx::CxxVector<#elem #ty_generics>; } - __unique_ptr_get(&repr) + unsafe { __unique_ptr_get(&repr) } } unsafe fn __unique_ptr_release(mut repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *mut ::cxx::CxxVector<Self> { extern "C" { #[link_name = #link_unique_ptr_release] fn __unique_ptr_release #impl_generics(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) -> *mut ::cxx::CxxVector<#elem #ty_generics>; } - __unique_ptr_release(&mut repr) + unsafe { __unique_ptr_release(&mut repr) } } unsafe fn __unique_ptr_drop(mut repr: ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>) { extern "C" { #[link_name = #link_unique_ptr_drop] fn __unique_ptr_drop(this: *mut ::cxx::core::mem::MaybeUninit<*mut ::cxx::core::ffi::c_void>); } - __unique_ptr_drop(&mut repr); + unsafe { + __unique_ptr_drop(&mut repr); + } } } } diff --git a/macro/src/generics.rs b/macro/src/generics.rs index 7862536d..f501def2 100644 --- a/macro/src/generics.rs +++ b/macro/src/generics.rs @@ -5,18 +5,18 @@ use proc_macro2::TokenStream; use quote::ToTokens; use syn::{Lifetime, Token}; -pub struct ImplGenerics<'a> { +pub(crate) struct ImplGenerics<'a> { explicit_impl: Option<&'a Impl>, resolve: Resolution<'a>, } -pub struct TyGenerics<'a> { +pub(crate) struct TyGenerics<'a> { key: NamedImplKey<'a>, explicit_impl: Option<&'a Impl>, resolve: Resolution<'a>, } -pub fn split_for_impl<'a>( +pub(crate) fn split_for_impl<'a>( key: NamedImplKey<'a>, explicit_impl: Option<&'a Impl>, resolve: Resolution<'a>, @@ -62,12 +62,12 @@ impl<'a> ToTokens for TyGenerics<'a> { } } -pub struct UnderscoreLifetimes<'a> { +pub(crate) struct UnderscoreLifetimes<'a> { generics: &'a Lifetimes, } impl Lifetimes { - pub fn to_underscore_lifetimes(&self) -> UnderscoreLifetimes { + pub(crate) fn to_underscore_lifetimes(&self) -> UnderscoreLifetimes { UnderscoreLifetimes { generics: self } } } diff --git a/macro/src/lib.rs b/macro/src/lib.rs index d0205b32..472dbc4c 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -6,6 +6,7 @@ clippy::enum_glob_use, clippy::if_same_then_else, clippy::inherent_to_string, + clippy::into_iter_without_iter, clippy::items_after_statements, clippy::large_enum_variant, clippy::match_bool, @@ -14,19 +15,18 @@ clippy::needless_pass_by_value, clippy::new_without_default, clippy::nonminimal_bool, - clippy::option_if_let_else, clippy::or_fun_call, clippy::redundant_else, clippy::shadow_unrelated, clippy::similar_names, clippy::single_match, clippy::single_match_else, + clippy::struct_field_names, clippy::too_many_arguments, clippy::too_many_lines, clippy::toplevel_ref_arg, - clippy::useless_let_if_seq, - // clippy bug: https://github.com/rust-lang/rust-clippy/issues/6983 - clippy::wrong_self_convention + clippy::uninlined_format_args, + clippy::useless_let_if_seq )] mod derive; diff --git a/macro/src/load.rs b/macro/src/load.rs index dccece44..d3148c94 100644 --- a/macro/src/load.rs +++ b/macro/src/load.rs @@ -18,7 +18,7 @@ use syn::{parse_quote, Path}; const CXX_CLANG_AST: &str = "CXX_CLANG_AST"; -pub fn load(cx: &mut Errors, apis: &mut [Api]) { +pub(crate) fn load(cx: &mut Errors, apis: &mut [Api]) { let ref mut variants_from_header = Vec::new(); for api in apis { if let Api::Enum(enm) = api { @@ -36,7 +36,7 @@ pub fn load(cx: &mut Errors, apis: &mut [Api]) { } } - let span = match variants_from_header.get(0) { + let span = match variants_from_header.first() { None => return, Some(enm) => enm.variants_from_header_attr.clone().unwrap(), }; @@ -60,7 +60,7 @@ pub fn load(cx: &mut Errors, apis: &mut [Api]) { if is_gzipped { gunzipped = Vec::new(); let decode_result = GzDecoder::new(&mut gunzipped).write_all(memmap); - decode_result.map(|_| gunzipped.as_slice()) + decode_result.map(|()| gunzipped.as_slice()) } else { Ok(memmap as &[u8]) } @@ -165,7 +165,7 @@ fn traverse<'a>( .variants_from_header_attr .as_ref() .unwrap() - .path + .path() .get_ident() .unwrap() .span(); @@ -259,7 +259,7 @@ fn translate_qual_type(cx: &mut Errors, enm: &Enum, qual_type: &str) -> Path { .variants_from_header_attr .as_ref() .unwrap() - .path + .path() .get_ident() .unwrap() .span(); @@ -277,7 +277,7 @@ enum ParsedDiscriminant { fn discriminant_value(mut clang: &[Node]) -> ParsedDiscriminant { if clang.is_empty() { // No discriminant expression provided; use successor of previous - // descriminant. + // discriminant. return ParsedDiscriminant::Successor; } @@ -301,7 +301,7 @@ fn discriminant_value(mut clang: &[Node]) -> ParsedDiscriminant { fn span_for_enum_error(enm: &Enum) -> TokenStream { let enum_token = enm.enum_token; let mut brace_token = Group::new(Delimiter::Brace, TokenStream::new()); - brace_token.set_span(enm.brace_token.span); + brace_token.set_span(enm.brace_token.span.join()); quote!(#enum_token #brace_token) } diff --git a/macro/src/tokens.rs b/macro/src/tokens.rs index 805af227..f3512a71 100644 --- a/macro/src/tokens.rs +++ b/macro/src/tokens.rs @@ -3,17 +3,17 @@ use proc_macro2::TokenStream; use quote::{quote_spanned, ToTokens}; use syn::Token; -pub struct ReceiverType<'a>(&'a Receiver); -pub struct ReceiverTypeSelf<'a>(&'a Receiver); +pub(crate) struct ReceiverType<'a>(&'a Receiver); +pub(crate) struct ReceiverTypeSelf<'a>(&'a Receiver); impl Receiver { // &TheType - pub fn ty(&self) -> ReceiverType { + pub(crate) fn ty(&self) -> ReceiverType { ReceiverType(self) } // &Self - pub fn ty_self(&self) -> ReceiverTypeSelf { + pub(crate) fn ty_self(&self) -> ReceiverTypeSelf { ReceiverTypeSelf(self) } } diff --git a/macro/src/type_id.rs b/macro/src/type_id.rs index 7bca67b1..31842984 100644 --- a/macro/src/type_id.rs +++ b/macro/src/type_id.rs @@ -3,7 +3,7 @@ use proc_macro2::{TokenStream, TokenTree}; use quote::{format_ident, quote, ToTokens}; use syn::ext::IdentExt; -pub enum Crate { +pub(crate) enum Crate { Cxx, DollarCrate(TokenTree), } @@ -18,7 +18,7 @@ impl ToTokens for Crate { } // "folly::File" => `(f, o, l, l, y, (), F, i, l, e)` -pub fn expand(krate: Crate, arg: QualifiedName) -> TokenStream { +pub(crate) fn expand(krate: Crate, arg: QualifiedName) -> TokenStream { let mut ids = Vec::new(); for word in arg.segments { diff --git a/reindeer.toml b/reindeer.toml new file mode 100644 index 00000000..4fc8abb6 --- /dev/null +++ b/reindeer.toml @@ -0,0 +1 @@ +error = "This is the wrong directory. Run `reindeer buckify` in the third-party directory." diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 00000000..20fe888c --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +components = ["rust-src"] @@ -1,4 +1,5 @@ #include "../include/cxx.h" +#include <cstdio> #include <cstring> #include <iostream> #include <memory> @@ -76,8 +77,8 @@ inline namespace cxxbridge1 { template <typename Exception> void panic [[noreturn]] (const char *msg) { #if defined(RUST_CXX_NO_EXCEPTIONS) - std::cerr << "Error: " << msg << ". Aborting." << std::endl; - std::terminate(); + std::fprintf(stderr, "Error: %s. Aborting.\n", msg); + std::abort(); #else throw Exception(msg); #endif @@ -285,7 +286,7 @@ String::String(unsafe_bitcopy_t, const String &bits) noexcept : repr(bits.repr) {} std::ostream &operator<<(std::ostream &os, const String &s) { - os.write(s.data(), s.size()); + os.write(s.data(), static_cast<std::streamsize>(s.size())); return os; } @@ -374,7 +375,7 @@ void Str::swap(Str &rhs) noexcept { } std::ostream &operator<<(std::ostream &os, const Str &s) { - os.write(s.data(), s.size()); + os.write(s.data(), static_cast<std::streamsize>(s.size())); return os; } @@ -592,6 +593,9 @@ static_assert(sizeof(std::string) <= kMaxExpectedWordsInString * sizeof(void *), } // namespace #define STD_VECTOR_OPS(RUST_TYPE, CXX_TYPE) \ + std::vector<CXX_TYPE> *cxxbridge1$std$vector$##RUST_TYPE##$new() noexcept { \ + return new std::vector<CXX_TYPE>(); \ + } \ std::size_t cxxbridge1$std$vector$##RUST_TYPE##$size( \ const std::vector<CXX_TYPE> &s) noexcept { \ return s.size(); \ diff --git a/src/cxx_string.rs b/src/cxx_string.rs index 9ecbcc64..496d3bec 100644 --- a/src/cxx_string.rs +++ b/src/cxx_string.rs @@ -241,7 +241,7 @@ impl Eq for CxxString {} impl PartialOrd for CxxString { fn partial_cmp(&self, other: &Self) -> Option<Ordering> { - self.as_bytes().partial_cmp(other.as_bytes()) + Some(self.cmp(other)) } } @@ -257,6 +257,25 @@ impl Hash for CxxString { } } +impl fmt::Write for Pin<&mut CxxString> { + fn write_str(&mut self, s: &str) -> fmt::Result { + self.as_mut().push_str(s); + Ok(()) + } +} + +#[cfg(feature = "std")] +impl std::io::Write for Pin<&mut CxxString> { + fn write(&mut self, buf: &[u8]) -> std::io::Result<usize> { + self.as_mut().push_bytes(buf); + Ok(buf.len()) + } + + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} + #[doc(hidden)] #[repr(C)] pub struct StackString { diff --git a/src/cxx_vector.rs b/src/cxx_vector.rs index abf9297a..5dcbe1c5 100644 --- a/src/cxx_vector.rs +++ b/src/cxx_vector.rs @@ -4,6 +4,7 @@ use crate::extern_type::ExternType; use crate::kind::Trivial; use crate::string::CxxString; +use crate::unique_ptr::UniquePtr; use core::ffi::c_void; use core::fmt::{self, Debug}; use core::iter::FusedIterator; @@ -36,6 +37,13 @@ impl<T> CxxVector<T> where T: VectorElement, { + /// Constructs a new heap allocated vector, wrapped by UniquePtr. + /// + /// The C++ vector is default constructed. + pub fn new() -> UniquePtr<Self> { + unsafe { UniquePtr::from_raw(T::__vector_new()) } + } + /// Returns the number of elements in the vector. /// /// Matches the behavior of C++ [std::vector\<T\>::size][size]. @@ -306,7 +314,9 @@ where /// `CxxVector<T>` in generic code. /// /// This trait has no publicly callable or implementable methods. Implementing -/// it outside of the CXX codebase is not supported. +/// it outside of the CXX codebase requires using [explicit shim trait impls], +/// adding the line `impl CxxVector<MyType> {}` in the same `cxx::bridge` that +/// defines `MyType`. /// /// # Example /// @@ -330,10 +340,14 @@ where /// /// Writing the same generic function without a `VectorElement` trait bound /// would not compile. +/// +/// [explicit shim trait impls]: https://cxx.rs/extern-c++.html#explicit-shim-trait-impls pub unsafe trait VectorElement: Sized { #[doc(hidden)] fn __typename(f: &mut fmt::Formatter) -> fmt::Result; #[doc(hidden)] + fn __vector_new() -> *mut CxxVector<Self>; + #[doc(hidden)] fn __vector_size(v: &CxxVector<Self>) -> usize; #[doc(hidden)] unsafe fn __get_unchecked(v: *mut CxxVector<Self>, pos: usize) -> *mut Self; @@ -370,19 +384,15 @@ macro_rules! vector_element_by_value_methods { (trivial, $segment:expr, $ty:ty) => { unsafe fn __push_back(v: Pin<&mut CxxVector<$ty>>, value: &mut ManuallyDrop<$ty>) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$push_back")] - fn __push_back(_: Pin<&mut CxxVector<$ty>>, _: &mut ManuallyDrop<$ty>); - } + #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$push_back")] + fn __push_back(_: Pin<&mut CxxVector<$ty>>, _: &mut ManuallyDrop<$ty>); } unsafe { __push_back(v, value) } } unsafe fn __pop_back(v: Pin<&mut CxxVector<$ty>>, out: &mut MaybeUninit<$ty>) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$pop_back")] - fn __pop_back(_: Pin<&mut CxxVector<$ty>>, _: &mut MaybeUninit<$ty>); - } + #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$pop_back")] + fn __pop_back(_: Pin<&mut CxxVector<$ty>>, _: &mut MaybeUninit<$ty>); } unsafe { __pop_back(v, out) } } @@ -398,31 +408,32 @@ macro_rules! impl_vector_element { fn __typename(f: &mut fmt::Formatter) -> fmt::Result { f.write_str($name) } + fn __vector_new() -> *mut CxxVector<Self> { + extern "C" { + #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$new")] + fn __vector_new() -> *mut CxxVector<$ty>; + } + unsafe { __vector_new() } + } fn __vector_size(v: &CxxVector<$ty>) -> usize { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$size")] - fn __vector_size(_: &CxxVector<$ty>) -> usize; - } + #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$size")] + fn __vector_size(_: &CxxVector<$ty>) -> usize; } unsafe { __vector_size(v) } } unsafe fn __get_unchecked(v: *mut CxxVector<$ty>, pos: usize) -> *mut $ty { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$get_unchecked")] - fn __get_unchecked(_: *mut CxxVector<$ty>, _: usize) -> *mut $ty; - } + #[link_name = concat!("cxxbridge1$std$vector$", $segment, "$get_unchecked")] + fn __get_unchecked(_: *mut CxxVector<$ty>, _: usize) -> *mut $ty; } unsafe { __get_unchecked(v, pos) } } vector_element_by_value_methods!($kind, $segment, $ty); fn __unique_ptr_null() -> MaybeUninit<*mut c_void> { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$null")] - fn __unique_ptr_null(this: *mut MaybeUninit<*mut c_void>); - } + #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$null")] + fn __unique_ptr_null(this: *mut MaybeUninit<*mut c_void>); } let mut repr = MaybeUninit::uninit(); unsafe { __unique_ptr_null(&mut repr) } @@ -430,10 +441,8 @@ macro_rules! impl_vector_element { } unsafe fn __unique_ptr_raw(raw: *mut CxxVector<Self>) -> MaybeUninit<*mut c_void> { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$raw")] - fn __unique_ptr_raw(this: *mut MaybeUninit<*mut c_void>, raw: *mut CxxVector<$ty>); - } + #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$raw")] + fn __unique_ptr_raw(this: *mut MaybeUninit<*mut c_void>, raw: *mut CxxVector<$ty>); } let mut repr = MaybeUninit::uninit(); unsafe { __unique_ptr_raw(&mut repr, raw) } @@ -441,28 +450,22 @@ macro_rules! impl_vector_element { } unsafe fn __unique_ptr_get(repr: MaybeUninit<*mut c_void>) -> *const CxxVector<Self> { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$get")] - fn __unique_ptr_get(this: *const MaybeUninit<*mut c_void>) -> *const CxxVector<$ty>; - } + #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$get")] + fn __unique_ptr_get(this: *const MaybeUninit<*mut c_void>) -> *const CxxVector<$ty>; } unsafe { __unique_ptr_get(&repr) } } unsafe fn __unique_ptr_release(mut repr: MaybeUninit<*mut c_void>) -> *mut CxxVector<Self> { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$release")] - fn __unique_ptr_release(this: *mut MaybeUninit<*mut c_void>) -> *mut CxxVector<$ty>; - } + #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$release")] + fn __unique_ptr_release(this: *mut MaybeUninit<*mut c_void>) -> *mut CxxVector<$ty>; } unsafe { __unique_ptr_release(&mut repr) } } unsafe fn __unique_ptr_drop(mut repr: MaybeUninit<*mut c_void>) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$drop")] - fn __unique_ptr_drop(this: *mut MaybeUninit<*mut c_void>); - } + #[link_name = concat!("cxxbridge1$unique_ptr$std$vector$", $segment, "$drop")] + fn __unique_ptr_drop(this: *mut MaybeUninit<*mut c_void>); } unsafe { __unique_ptr_drop(&mut repr) } } @@ -364,16 +364,22 @@ //! </table> #![no_std] -#![doc(html_root_url = "https://docs.rs/cxx/1.0.93")] +#![doc(html_root_url = "https://docs.rs/cxx/1.0.119")] +#![cfg_attr(doc_cfg, feature(doc_cfg))] #![deny( improper_ctypes, improper_ctypes_definitions, missing_docs, unsafe_op_in_unsafe_fn )] -#![cfg_attr(doc_cfg, feature(doc_cfg))] +#![warn( + clippy::alloc_instead_of_core, + clippy::std_instead_of_alloc, + clippy::std_instead_of_core +)] #![allow(non_camel_case_types)] #![allow( + clippy::cast_possible_truncation, clippy::cognitive_complexity, clippy::declare_interior_mutable_const, clippy::doc_markdown, @@ -392,10 +398,11 @@ clippy::new_without_default, clippy::or_fun_call, clippy::ptr_arg, + clippy::ptr_as_ptr, clippy::toplevel_ref_arg, clippy::transmute_undefined_repr, // clippy bug: https://github.com/rust-lang/rust-clippy/issues/8417 + clippy::uninlined_format_args, clippy::useless_let_if_seq, - clippy::wrong_self_convention )] #[cfg(built_with_cargo)] @@ -469,6 +476,7 @@ mod weak_ptr; pub use crate::cxx_vector::CxxVector; #[cfg(feature = "alloc")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "alloc")))] pub use crate::exception::Exception; pub use crate::extern_type::{kind, ExternType}; pub use crate::shared_ptr::SharedPtr; @@ -539,4 +547,4 @@ chars! { } #[repr(transparent)] -struct void(core::ffi::c_void); +struct void(#[allow(dead_code)] core::ffi::c_void); diff --git a/src/lossy.rs b/src/lossy.rs index 8ccf0f93..0140392a 100644 --- a/src/lossy.rs +++ b/src/lossy.rs @@ -2,7 +2,7 @@ use core::char; use core::fmt::{self, Write as _}; use core::str; -pub fn display(mut bytes: &[u8], f: &mut fmt::Formatter) -> fmt::Result { +pub(crate) fn display(mut bytes: &[u8], f: &mut fmt::Formatter) -> fmt::Result { loop { match str::from_utf8(bytes) { Ok(valid) => return f.write_str(valid), @@ -21,7 +21,7 @@ pub fn display(mut bytes: &[u8], f: &mut fmt::Formatter) -> fmt::Result { } } -pub fn debug(mut bytes: &[u8], f: &mut fmt::Formatter) -> fmt::Result { +pub(crate) fn debug(mut bytes: &[u8], f: &mut fmt::Formatter) -> fmt::Result { f.write_char('"')?; while !bytes.is_empty() { diff --git a/src/macros/concat.rs b/src/macros/concat.rs deleted file mode 100644 index 5ee77c52..00000000 --- a/src/macros/concat.rs +++ /dev/null @@ -1,8 +0,0 @@ -#[macro_export] -#[doc(hidden)] -macro_rules! attr { - (#[$name:ident = $value:expr] $($rest:tt)*) => { - #[$name = $value] - $($rest)* - }; -} diff --git a/src/macros/mod.rs b/src/macros/mod.rs index d12d96bd..b070c057 100644 --- a/src/macros/mod.rs +++ b/src/macros/mod.rs @@ -1,4 +1,2 @@ #[macro_use] mod assert; -#[macro_use] -mod concat; diff --git a/src/result.rs b/src/result.rs index ba77858e..e93c8e66 100644 --- a/src/result.rs +++ b/src/result.rs @@ -12,7 +12,7 @@ use core::str; #[repr(C)] #[derive(Copy, Clone)] -pub struct PtrLen { +pub(crate) struct PtrLen { pub ptr: NonNull<u8>, pub len: usize, } diff --git a/src/shared_ptr.rs b/src/shared_ptr.rs index 64c86619..58a281b8 100644 --- a/src/shared_ptr.rs +++ b/src/shared_ptr.rs @@ -191,8 +191,8 @@ pub unsafe trait SharedPtrTarget { where Self: Sized, { - // Opoaque C types do not get this method because they can never exist - // by value on the Rust side of the bridge. + // Opaque C types do not get this method because they can never exist by + // value on the Rust side of the bridge. let _ = value; let _ = new; unreachable!() @@ -213,46 +213,36 @@ macro_rules! impl_shared_ptr_target { } unsafe fn __null(new: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$null")] - fn __null(new: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$null")] + fn __null(new: *mut c_void); } unsafe { __null(new) } } unsafe fn __new(value: Self, new: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$uninit")] - fn __uninit(new: *mut c_void) -> *mut c_void; - } + #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$uninit")] + fn __uninit(new: *mut c_void) -> *mut c_void; } unsafe { __uninit(new).cast::<$ty>().write(value) } } unsafe fn __clone(this: *const c_void, new: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$clone")] - fn __clone(this: *const c_void, new: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$clone")] + fn __clone(this: *const c_void, new: *mut c_void); } unsafe { __clone(this, new) } } unsafe fn __get(this: *const c_void) -> *const Self { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$get")] - fn __get(this: *const c_void) -> *const c_void; - } + #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$get")] + fn __get(this: *const c_void) -> *const c_void; } unsafe { __get(this) }.cast() } unsafe fn __drop(this: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$drop")] - fn __drop(this: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$shared_ptr$", $segment, "$drop")] + fn __drop(this: *mut c_void); } unsafe { __drop(this) } } @@ -17,7 +17,7 @@ use core::ptr; /// (e.g., `collections::HashMap` uses it by default). /// /// See: <https://131002.net/siphash> -pub struct SipHasher13 { +pub(crate) struct SipHasher13 { k0: u64, k1: u64, length: usize, // how many bytes we've processed @@ -110,7 +110,7 @@ unsafe fn u8to64_le(buf: &[u8], start: usize, len: usize) -> u64 { impl SipHasher13 { /// Creates a new `SipHasher13` with the two initial keys set to 0. - pub fn new() -> Self { + pub(crate) fn new() -> Self { Self::new_with_keys(0, 0) } diff --git a/src/symbols/rust_vec.rs b/src/symbols/rust_vec.rs index 89c7da44..d7d2e34a 100644 --- a/src/symbols/rust_vec.rs +++ b/src/symbols/rust_vec.rs @@ -14,53 +14,37 @@ macro_rules! rust_vec_shims { const_assert_eq!(mem::align_of::<Vec<$ty>>(), mem::align_of::<RustVec<$ty>>()); const _: () = { - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$new")] - unsafe extern "C" fn __new(this: *mut RustVec<$ty>) { - unsafe { ptr::write(this, RustVec::new()) } - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$new")] + unsafe extern "C" fn __new(this: *mut RustVec<$ty>) { + unsafe { ptr::write(this, RustVec::new()) } } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$drop")] - unsafe extern "C" fn __drop(this: *mut RustVec<$ty>) { - unsafe { ptr::drop_in_place(this) } - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$drop")] + unsafe extern "C" fn __drop(this: *mut RustVec<$ty>) { + unsafe { ptr::drop_in_place(this) } } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$len")] - unsafe extern "C" fn __len(this: *const RustVec<$ty>) -> usize { - unsafe { &*this }.len() - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$len")] + unsafe extern "C" fn __len(this: *const RustVec<$ty>) -> usize { + unsafe { &*this }.len() } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$capacity")] - unsafe extern "C" fn __capacity(this: *const RustVec<$ty>) -> usize { - unsafe { &*this }.capacity() - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$capacity")] + unsafe extern "C" fn __capacity(this: *const RustVec<$ty>) -> usize { + unsafe { &*this }.capacity() } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$data")] - unsafe extern "C" fn __data(this: *const RustVec<$ty>) -> *const $ty { - unsafe { &*this }.as_ptr() - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$data")] + unsafe extern "C" fn __data(this: *const RustVec<$ty>) -> *const $ty { + unsafe { &*this }.as_ptr() } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$reserve_total")] - unsafe extern "C" fn __reserve_total(this: *mut RustVec<$ty>, new_cap: usize) { - unsafe { &mut *this }.reserve_total(new_cap); - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$reserve_total")] + unsafe extern "C" fn __reserve_total(this: *mut RustVec<$ty>, new_cap: usize) { + unsafe { &mut *this }.reserve_total(new_cap); } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$set_len")] - unsafe extern "C" fn __set_len(this: *mut RustVec<$ty>, len: usize) { - unsafe { (*this).set_len(len) } - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$set_len")] + unsafe extern "C" fn __set_len(this: *mut RustVec<$ty>, len: usize) { + unsafe { (*this).set_len(len) } } - attr! { - #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$truncate")] - unsafe extern "C" fn __truncate(this: *mut RustVec<$ty>, len: usize) { - unsafe { (*this).truncate(len) } - } + #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$truncate")] + unsafe extern "C" fn __truncate(this: *mut RustVec<$ty>, len: usize) { + unsafe { (*this).truncate(len) } } }; }; diff --git a/src/weak_ptr.rs b/src/weak_ptr.rs index e9320f37..c34e969e 100644 --- a/src/weak_ptr.rs +++ b/src/weak_ptr.rs @@ -119,46 +119,36 @@ macro_rules! impl_weak_ptr_target { } unsafe fn __null(new: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$null")] - fn __null(new: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$null")] + fn __null(new: *mut c_void); } unsafe { __null(new) } } unsafe fn __clone(this: *const c_void, new: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$clone")] - fn __clone(this: *const c_void, new: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$clone")] + fn __clone(this: *const c_void, new: *mut c_void); } unsafe { __clone(this, new) } } unsafe fn __downgrade(shared: *const c_void, weak: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$downgrade")] - fn __downgrade(shared: *const c_void, weak: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$downgrade")] + fn __downgrade(shared: *const c_void, weak: *mut c_void); } unsafe { __downgrade(shared, weak) } } unsafe fn __upgrade(weak: *const c_void, shared: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$upgrade")] - fn __upgrade(weak: *const c_void, shared: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$upgrade")] + fn __upgrade(weak: *const c_void, shared: *mut c_void); } unsafe { __upgrade(weak, shared) } } unsafe fn __drop(this: *mut c_void) { extern "C" { - attr! { - #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$drop")] - fn __drop(this: *mut c_void); - } + #[link_name = concat!("cxxbridge1$std$weak_ptr$", $segment, "$drop")] + fn __drop(this: *mut c_void); } unsafe { __drop(this) } } diff --git a/syntax/atom.rs b/syntax/atom.rs index d4ad78f1..08e04a30 100644 --- a/syntax/atom.rs +++ b/syntax/atom.rs @@ -3,7 +3,7 @@ use proc_macro2::Ident; use std::fmt::{self, Display}; #[derive(Copy, Clone, PartialEq)] -pub enum Atom { +pub(crate) enum Atom { Bool, Char, // C char, not Rust char U8, @@ -23,11 +23,11 @@ pub enum Atom { } impl Atom { - pub fn from(ident: &Ident) -> Option<Self> { + pub(crate) fn from(ident: &Ident) -> Option<Self> { Self::from_str(ident.to_string().as_str()) } - pub fn from_str(s: &str) -> Option<Self> { + pub(crate) fn from_str(s: &str) -> Option<Self> { use self::Atom::*; match s { "bool" => Some(Bool), diff --git a/syntax/attrs.rs b/syntax/attrs.rs index 4ff700a8..894b82b8 100644 --- a/syntax/attrs.rs +++ b/syntax/attrs.rs @@ -27,7 +27,7 @@ use syn::{Attribute, Error, Expr, Lit, LitStr, Meta, Path, Result, Token}; // ); // #[derive(Default)] -pub struct Parser<'a> { +pub(crate) struct Parser<'a> { pub cfg: Option<&'a mut CfgExpr>, pub doc: Option<&'a mut Doc>, pub derives: Option<&'a mut Vec<Derive>>, @@ -44,7 +44,7 @@ pub struct Parser<'a> { pub(crate) _more: (), } -pub fn parse(cx: &mut Errors, attrs: Vec<Attribute>, mut parser: Parser) -> OtherAttrs { +pub(crate) fn parse(cx: &mut Errors, attrs: Vec<Attribute>, mut parser: Parser) -> OtherAttrs { let mut passthrough_attrs = Vec::new(); for attr in attrs { let attr_path = attr.path(); @@ -283,14 +283,14 @@ fn parse_rust_name_attribute(meta: &Meta) -> Result<Ident> { } #[derive(Clone)] -pub struct OtherAttrs(Vec<Attribute>); +pub(crate) struct OtherAttrs(Vec<Attribute>); impl OtherAttrs { - pub fn none() -> Self { + pub(crate) fn none() -> Self { OtherAttrs(Vec::new()) } - pub fn extend(&mut self, other: Self) { + pub(crate) fn extend(&mut self, other: Self) { self.0.extend(other.0); } } diff --git a/syntax/cfg.rs b/syntax/cfg.rs index ce6f3389..070813ee 100644 --- a/syntax/cfg.rs +++ b/syntax/cfg.rs @@ -4,16 +4,19 @@ use syn::parse::{Error, ParseStream, Result}; use syn::{parenthesized, token, Attribute, LitStr, Token}; #[derive(Clone)] -pub enum CfgExpr { +pub(crate) enum CfgExpr { Unconditional, + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro Eq(Ident, Option<LitStr>), All(Vec<CfgExpr>), + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro Any(Vec<CfgExpr>), + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro Not(Box<CfgExpr>), } impl CfgExpr { - pub fn merge(&mut self, expr: CfgExpr) { + pub(crate) fn merge(&mut self, expr: CfgExpr) { if let CfgExpr::Unconditional = self { *self = expr; } else if let CfgExpr::All(list) = self { @@ -25,7 +28,7 @@ impl CfgExpr { } } -pub fn parse_attribute(attr: &Attribute) -> Result<CfgExpr> { +pub(crate) fn parse_attribute(attr: &Attribute) -> Result<CfgExpr> { attr.parse_args_with(|input: ParseStream| { let cfg_expr = input.call(parse_single)?; input.parse::<Option<Token![,]>>()?; diff --git a/syntax/check.rs b/syntax/check.rs index 0770c847..b5fd45e1 100644 --- a/syntax/check.rs +++ b/syntax/check.rs @@ -123,9 +123,11 @@ fn check_type_rust_vec(cx: &mut Check, ty: &Ty1) { } match Atom::from(&ident.rust) { - None | Some(Bool) | Some(Char) | Some(U8) | Some(U16) | Some(U32) | Some(U64) - | Some(Usize) | Some(I8) | Some(I16) | Some(I32) | Some(I64) | Some(Isize) - | Some(F32) | Some(F64) | Some(RustString) => return, + None + | Some( + Bool | Char | U8 | U16 | U32 | U64 | Usize | I8 | I16 | I32 | I64 | Isize | F32 + | F64 | RustString, + ) => return, Some(CxxString) => {} } } @@ -162,10 +164,12 @@ fn check_type_shared_ptr(cx: &mut Check, ptr: &Ty1) { } match Atom::from(&ident.rust) { - None | Some(Bool) | Some(U8) | Some(U16) | Some(U32) | Some(U64) | Some(Usize) - | Some(I8) | Some(I16) | Some(I32) | Some(I64) | Some(Isize) | Some(F32) - | Some(F64) | Some(CxxString) => return, - Some(Char) | Some(RustString) => {} + None + | Some( + Bool | U8 | U16 | U32 | U64 | Usize | I8 | I16 | I32 | I64 | Isize | F32 | F64 + | CxxString, + ) => return, + Some(Char | RustString) => {} } } else if let Type::CxxVector(_) = &ptr.inner { cx.error(ptr, "std::shared_ptr<std::vector> is not supported yet"); @@ -183,10 +187,12 @@ fn check_type_weak_ptr(cx: &mut Check, ptr: &Ty1) { } match Atom::from(&ident.rust) { - None | Some(Bool) | Some(U8) | Some(U16) | Some(U32) | Some(U64) | Some(Usize) - | Some(I8) | Some(I16) | Some(I32) | Some(I64) | Some(Isize) | Some(F32) - | Some(F64) | Some(CxxString) => return, - Some(Char) | Some(RustString) => {} + None + | Some( + Bool | U8 | U16 | U32 | U64 | Usize | I8 | I16 | I32 | I64 | Isize | F32 | F64 + | CxxString, + ) => return, + Some(Char | RustString) => {} } } else if let Type::CxxVector(_) = &ptr.inner { cx.error(ptr, "std::weak_ptr<std::vector> is not supported yet"); @@ -207,11 +213,12 @@ fn check_type_cxx_vector(cx: &mut Check, ptr: &Ty1) { } match Atom::from(&ident.rust) { - None | Some(U8) | Some(U16) | Some(U32) | Some(U64) | Some(Usize) | Some(I8) - | Some(I16) | Some(I32) | Some(I64) | Some(Isize) | Some(F32) | Some(F64) - | Some(CxxString) => return, + None + | Some( + U8 | U16 | U32 | U64 | Usize | I8 | I16 | I32 | I64 | Isize | F32 | F64 | CxxString, + ) => return, Some(Char) => { /* todo */ } - Some(Bool) | Some(RustString) => {} + Some(Bool | RustString) => {} } } diff --git a/syntax/derive.rs b/syntax/derive.rs index 7727fbc9..9e09461c 100644 --- a/syntax/derive.rs +++ b/syntax/derive.rs @@ -2,13 +2,13 @@ use proc_macro2::{Ident, Span}; use std::fmt::{self, Display}; #[derive(Copy, Clone)] -pub struct Derive { +pub(crate) struct Derive { pub what: Trait, pub span: Span, } #[derive(Copy, Clone, PartialEq)] -pub enum Trait { +pub(crate) enum Trait { Clone, Copy, Debug, @@ -24,7 +24,7 @@ pub enum Trait { } impl Derive { - pub fn from(ident: &Ident) -> Option<Self> { + pub(crate) fn from(ident: &Ident) -> Option<Self> { let what = match ident.to_string().as_str() { "Clone" => Trait::Clone, "Copy" => Trait::Copy, @@ -76,6 +76,6 @@ impl Display for Derive { } } -pub fn contains(derives: &[Derive], query: Trait) -> bool { +pub(crate) fn contains(derives: &[Derive], query: Trait) -> bool { derives.iter().any(|derive| derive.what == query) } diff --git a/syntax/discriminant.rs b/syntax/discriminant.rs index 21a6d00a..775e57bb 100644 --- a/syntax/discriminant.rs +++ b/syntax/discriminant.rs @@ -5,17 +5,16 @@ use std::cmp::Ordering; use std::collections::BTreeSet; use std::fmt::{self, Display}; use std::str::FromStr; -use std::u64; use syn::{Error, Expr, Lit, Result, Token, UnOp}; -pub struct DiscriminantSet { +pub(crate) struct DiscriminantSet { repr: Option<Atom>, values: BTreeSet<Discriminant>, previous: Option<Discriminant>, } #[derive(Copy, Clone, Eq, PartialEq)] -pub struct Discriminant { +pub(crate) struct Discriminant { sign: Sign, magnitude: u64, } @@ -27,7 +26,7 @@ enum Sign { } impl DiscriminantSet { - pub fn new(repr: Option<Atom>) -> Self { + pub(crate) fn new(repr: Option<Atom>) -> Self { DiscriminantSet { repr, values: BTreeSet::new(), @@ -35,7 +34,7 @@ impl DiscriminantSet { } } - pub fn insert(&mut self, expr: &Expr) -> Result<Discriminant> { + pub(crate) fn insert(&mut self, expr: &Expr) -> Result<Discriminant> { let (discriminant, repr) = expr_to_discriminant(expr)?; match (self.repr, repr) { (None, Some(new_repr)) => { @@ -62,7 +61,7 @@ impl DiscriminantSet { insert(self, discriminant) } - pub fn insert_next(&mut self) -> Result<Discriminant> { + pub(crate) fn insert_next(&mut self) -> Result<Discriminant> { let discriminant = match self.previous { None => Discriminant::zero(), Some(mut discriminant) => match discriminant.sign { @@ -86,7 +85,7 @@ impl DiscriminantSet { insert(self, discriminant) } - pub fn inferred_repr(&self) -> Result<Atom> { + pub(crate) fn inferred_repr(&self) -> Result<Atom> { if let Some(repr) = self.repr { return Ok(repr); } @@ -150,7 +149,7 @@ fn insert(set: &mut DiscriminantSet, discriminant: Discriminant) -> Result<Discr } impl Discriminant { - pub const fn zero() -> Self { + pub(crate) const fn zero() -> Self { Discriminant { sign: Sign::Positive, magnitude: 0, @@ -181,7 +180,7 @@ impl Discriminant { } #[cfg(feature = "experimental-enum-variants-from-header")] - pub const fn checked_succ(self) -> Option<Self> { + pub(crate) const fn checked_succ(self) -> Option<Self> { match self.sign { Sign::Negative => { if self.magnitude == 1 { diff --git a/syntax/doc.rs b/syntax/doc.rs index 5de824f3..bd8111ea 100644 --- a/syntax/doc.rs +++ b/syntax/doc.rs @@ -2,30 +2,30 @@ use proc_macro2::TokenStream; use quote::{quote, ToTokens}; use syn::LitStr; -pub struct Doc { - pub(crate) hidden: bool, +pub(crate) struct Doc { + pub hidden: bool, fragments: Vec<LitStr>, } impl Doc { - pub fn new() -> Self { + pub(crate) fn new() -> Self { Doc { hidden: false, fragments: Vec::new(), } } - pub fn push(&mut self, lit: LitStr) { + pub(crate) fn push(&mut self, lit: LitStr) { self.fragments.push(lit); } #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro - pub fn is_empty(&self) -> bool { + pub(crate) fn is_empty(&self) -> bool { self.fragments.is_empty() } #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro - pub fn to_string(&self) -> String { + pub(crate) fn to_string(&self) -> String { let mut doc = String::new(); for lit in &self.fragments { doc += &lit.value(); diff --git a/syntax/error.rs b/syntax/error.rs index f40c4a8e..4487693c 100644 --- a/syntax/error.rs +++ b/syntax/error.rs @@ -1,9 +1,11 @@ use std::fmt::{self, Display}; #[derive(Copy, Clone)] -pub struct Error { +pub(crate) struct Error { pub msg: &'static str, + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub label: Option<&'static str>, + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub note: Option<&'static str>, } @@ -13,7 +15,7 @@ impl Display for Error { } } -pub static ERRORS: &[Error] = &[ +pub(crate) static ERRORS: &[Error] = &[ BOX_CXX_TYPE, CXXBRIDGE_RESERVED, CXX_STRING_BY_VALUE, @@ -27,67 +29,67 @@ pub static ERRORS: &[Error] = &[ USE_NOT_ALLOWED, ]; -pub static BOX_CXX_TYPE: Error = Error { +pub(crate) static BOX_CXX_TYPE: Error = Error { msg: "Box of a C++ type is not supported yet", label: None, note: Some("hint: use UniquePtr<> or SharedPtr<>"), }; -pub static CXXBRIDGE_RESERVED: Error = Error { +pub(crate) static CXXBRIDGE_RESERVED: Error = Error { msg: "identifiers starting with cxxbridge are reserved", label: Some("reserved identifier"), note: Some("identifiers starting with cxxbridge are reserved"), }; -pub static CXX_STRING_BY_VALUE: Error = Error { +pub(crate) static CXX_STRING_BY_VALUE: Error = Error { msg: "C++ string by value is not supported", label: None, note: Some("hint: wrap it in a UniquePtr<>"), }; -pub static CXX_TYPE_BY_VALUE: Error = Error { +pub(crate) static CXX_TYPE_BY_VALUE: Error = Error { msg: "C++ type by value is not supported", label: None, note: Some("hint: wrap it in a UniquePtr<> or SharedPtr<>"), }; -pub static DISCRIMINANT_OVERFLOW: Error = Error { +pub(crate) static DISCRIMINANT_OVERFLOW: Error = Error { msg: "discriminant overflow on value after ", label: Some("discriminant overflow"), note: Some("note: explicitly set `= 0` if that is desired outcome"), }; -pub static DOT_INCLUDE: Error = Error { +pub(crate) static DOT_INCLUDE: Error = Error { msg: "#include relative to `.` or `..` is not supported in Cargo builds", label: Some("#include relative to `.` or `..` is not supported in Cargo builds"), note: Some("note: use a path starting with the crate name"), }; -pub static DOUBLE_UNDERSCORE: Error = Error { +pub(crate) static DOUBLE_UNDERSCORE: Error = Error { msg: "identifiers containing double underscore are reserved in C++", label: Some("reserved identifier"), note: Some("identifiers containing double underscore are reserved in C++"), }; -pub static RESERVED_LIFETIME: Error = Error { +pub(crate) static RESERVED_LIFETIME: Error = Error { msg: "invalid lifetime parameter name: `'static`", label: Some("'static is a reserved lifetime name"), note: None, }; -pub static RUST_TYPE_BY_VALUE: Error = Error { +pub(crate) static RUST_TYPE_BY_VALUE: Error = Error { msg: "opaque Rust type by value is not supported", label: None, note: Some("hint: wrap it in a Box<>"), }; -pub static UNSUPPORTED_TYPE: Error = Error { +pub(crate) static UNSUPPORTED_TYPE: Error = Error { msg: "unsupported type: ", label: Some("unsupported type"), note: None, }; -pub static USE_NOT_ALLOWED: Error = Error { +pub(crate) static USE_NOT_ALLOWED: Error = Error { msg: "`use` items are not allowed within cxx bridge", label: Some("not allowed"), note: Some( diff --git a/syntax/file.rs b/syntax/file.rs index 71f11eec..cf6d3e87 100644 --- a/syntax/file.rs +++ b/syntax/file.rs @@ -7,19 +7,24 @@ use syn::{ ItemStruct, ItemUse, LitStr, Token, Visibility, }; -pub struct Module { +pub(crate) struct Module { + #[allow(dead_code)] pub cfg: CfgExpr, pub namespace: Namespace, pub attrs: Vec<Attribute>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub vis: Visibility, pub unsafety: Option<Token![unsafe]>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub mod_token: Token![mod], + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub ident: Ident, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub brace_token: token::Brace, pub content: Vec<Item>, } -pub enum Item { +pub(crate) enum Item { Struct(ItemStruct), Enum(ItemEnum), ForeignMod(ItemForeignMod), @@ -28,10 +33,11 @@ pub enum Item { Other(RustItem), } -pub struct ItemForeignMod { +pub(crate) struct ItemForeignMod { pub attrs: Vec<Attribute>, pub unsafety: Option<Token![unsafe]>, pub abi: Abi, + #[allow(dead_code)] pub brace_token: token::Brace, pub items: Vec<ForeignItem>, } diff --git a/syntax/improper.rs b/syntax/improper.rs index f19eb86a..a19f5b7d 100644 --- a/syntax/improper.rs +++ b/syntax/improper.rs @@ -3,14 +3,14 @@ use crate::syntax::atom::Atom::{self, *}; use crate::syntax::{Type, Types}; use proc_macro2::Ident; -pub enum ImproperCtype<'a> { +pub(crate) enum ImproperCtype<'a> { Definite(bool), Depends(&'a Ident), } impl<'a> Types<'a> { // yes, no, maybe - pub fn determine_improper_ctype(&self, ty: &Type) -> ImproperCtype<'a> { + pub(crate) fn determine_improper_ctype(&self, ty: &Type) -> ImproperCtype<'a> { match ty { Type::Ident(ident) => { let ident = &ident.rust; diff --git a/syntax/instantiate.rs b/syntax/instantiate.rs index b6cbf24b..dda30698 100644 --- a/syntax/instantiate.rs +++ b/syntax/instantiate.rs @@ -4,7 +4,7 @@ use std::hash::{Hash, Hasher}; use syn::Token; #[derive(Copy, Clone, PartialEq, Eq, Hash)] -pub enum ImplKey<'a> { +pub(crate) enum ImplKey<'a> { RustBox(NamedImplKey<'a>), RustVec(NamedImplKey<'a>), UniquePtr(NamedImplKey<'a>), @@ -14,11 +14,15 @@ pub enum ImplKey<'a> { } #[derive(Copy, Clone)] -pub struct NamedImplKey<'a> { +pub(crate) struct NamedImplKey<'a> { + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub begin_span: Span, pub rust: &'a Ident, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub lt_token: Option<Token![<]>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub gt_token: Option<Token![>]>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub end_span: Span, } diff --git a/syntax/mangle.rs b/syntax/mangle.rs index 287b4434..6f019657 100644 --- a/syntax/mangle.rs +++ b/syntax/mangle.rs @@ -84,7 +84,7 @@ macro_rules! join { }; } -pub fn extern_fn(efn: &ExternFn, types: &Types) -> Symbol { +pub(crate) fn extern_fn(efn: &ExternFn, types: &Types) -> Symbol { match &efn.receiver { Some(receiver) => { let receiver_ident = types.resolve(&receiver.ty); @@ -99,7 +99,7 @@ pub fn extern_fn(efn: &ExternFn, types: &Types) -> Symbol { } } -pub fn operator(receiver: &Pair, operator: &'static str) -> Symbol { +pub(crate) fn operator(receiver: &Pair, operator: &'static str) -> Symbol { join!( receiver.namespace, CXXBRIDGE, @@ -110,11 +110,11 @@ pub fn operator(receiver: &Pair, operator: &'static str) -> Symbol { } // The C half of a function pointer trampoline. -pub fn c_trampoline(efn: &ExternFn, var: &Pair, types: &Types) -> Symbol { +pub(crate) fn c_trampoline(efn: &ExternFn, var: &Pair, types: &Types) -> Symbol { join!(extern_fn(efn, types), var.rust, 0) } // The Rust half of a function pointer trampoline. -pub fn r_trampoline(efn: &ExternFn, var: &Pair, types: &Types) -> Symbol { +pub(crate) fn r_trampoline(efn: &ExternFn, var: &Pair, types: &Types) -> Symbol { join!(extern_fn(efn, types), var.rust, 1) } diff --git a/syntax/map.rs b/syntax/map.rs index 526b793b..4a2db0b8 100644 --- a/syntax/map.rs +++ b/syntax/map.rs @@ -3,9 +3,9 @@ use std::hash::Hash; use std::ops::Index; use std::slice; -pub use self::ordered::OrderedMap; -pub use self::unordered::UnorderedMap; -pub use std::collections::hash_map::Entry; +pub(crate) use self::ordered::OrderedMap; +pub(crate) use self::unordered::UnorderedMap; +pub(crate) use std::collections::hash_map::Entry; mod ordered { use super::{Entry, Iter, UnorderedMap}; @@ -13,24 +13,25 @@ mod ordered { use std::hash::Hash; use std::mem; - pub struct OrderedMap<K, V> { + pub(crate) struct OrderedMap<K, V> { map: UnorderedMap<K, usize>, vec: Vec<(K, V)>, } impl<K, V> OrderedMap<K, V> { - pub fn new() -> Self { + pub(crate) fn new() -> Self { OrderedMap { map: UnorderedMap::new(), vec: Vec::new(), } } - pub fn iter(&self) -> Iter<K, V> { + pub(crate) fn iter(&self) -> Iter<K, V> { Iter(self.vec.iter()) } - pub fn keys(&self) -> impl Iterator<Item = &K> { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro + pub(crate) fn keys(&self) -> impl Iterator<Item = &K> { self.vec.iter().map(|(k, _v)| k) } } @@ -39,7 +40,7 @@ mod ordered { where K: Copy + Hash + Eq, { - pub fn insert(&mut self, key: K, value: V) -> Option<V> { + pub(crate) fn insert(&mut self, key: K, value: V) -> Option<V> { match self.map.entry(key) { Entry::Occupied(entry) => { let i = &mut self.vec[*entry.get()]; @@ -53,22 +54,13 @@ mod ordered { } } - pub fn contains_key<Q>(&self, key: &Q) -> bool + pub(crate) fn contains_key<Q>(&self, key: &Q) -> bool where K: Borrow<Q>, Q: ?Sized + Hash + Eq, { self.map.contains_key(key) } - - pub fn get<Q>(&self, key: &Q) -> Option<&V> - where - K: Borrow<Q>, - Q: ?Sized + Hash + Eq, - { - let i = *self.map.get(key)?; - Some(&self.vec[i].1) - } } impl<'a, K, V> IntoIterator for &'a OrderedMap<K, V> { @@ -88,10 +80,10 @@ mod unordered { // Wrapper prohibits accidentally introducing iteration over the map, which // could lead to nondeterministic generated code. - pub struct UnorderedMap<K, V>(HashMap<K, V>); + pub(crate) struct UnorderedMap<K, V>(HashMap<K, V>); impl<K, V> UnorderedMap<K, V> { - pub fn new() -> Self { + pub(crate) fn new() -> Self { UnorderedMap(HashMap::new()) } } @@ -100,11 +92,11 @@ mod unordered { where K: Hash + Eq, { - pub fn insert(&mut self, key: K, value: V) -> Option<V> { + pub(crate) fn insert(&mut self, key: K, value: V) -> Option<V> { self.0.insert(key, value) } - pub fn contains_key<Q>(&self, key: &Q) -> bool + pub(crate) fn contains_key<Q>(&self, key: &Q) -> bool where K: Borrow<Q>, Q: ?Sized + Hash + Eq, @@ -112,7 +104,7 @@ mod unordered { self.0.contains_key(key) } - pub fn get<Q>(&self, key: &Q) -> Option<&V> + pub(crate) fn get<Q>(&self, key: &Q) -> Option<&V> where K: Borrow<Q>, Q: ?Sized + Hash + Eq, @@ -120,12 +112,12 @@ mod unordered { self.0.get(key) } - pub fn entry(&mut self, key: K) -> Entry<K, V> { + pub(crate) fn entry(&mut self, key: K) -> Entry<K, V> { self.0.entry(key) } #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro - pub fn remove<Q>(&mut self, key: &Q) -> Option<V> + pub(crate) fn remove<Q>(&mut self, key: &Q) -> Option<V> where K: Borrow<Q>, Q: ?Sized + Hash + Eq, @@ -133,7 +125,7 @@ mod unordered { self.0.remove(key) } - pub fn keys(&self) -> UnorderedSet<K> + pub(crate) fn keys(&self) -> UnorderedSet<K> where K: Copy, { @@ -146,7 +138,7 @@ mod unordered { } } -pub struct Iter<'a, K, V>(slice::Iter<'a, (K, V)>); +pub(crate) struct Iter<'a, K, V>(slice::Iter<'a, (K, V)>); impl<'a, K, V> Iterator for Iter<'a, K, V> { type Item = (&'a K, &'a V); diff --git a/syntax/mod.rs b/syntax/mod.rs index 4f19d964..eacba554 100644 --- a/syntax/mod.rs +++ b/syntax/mod.rs @@ -1,33 +1,33 @@ // Functionality that is shared between the cxxbridge macro and the cmd. -pub mod atom; -pub mod attrs; -pub mod cfg; -pub mod check; -pub mod derive; +pub(crate) mod atom; +pub(crate) mod attrs; +pub(crate) mod cfg; +pub(crate) mod check; +pub(crate) mod derive; mod discriminant; mod doc; -pub mod error; -pub mod file; -pub mod ident; +pub(crate) mod error; +pub(crate) mod file; +pub(crate) mod ident; mod impls; mod improper; -pub mod instantiate; -pub mod mangle; -pub mod map; +pub(crate) mod instantiate; +pub(crate) mod mangle; +pub(crate) mod map; mod names; -pub mod namespace; +pub(crate) mod namespace; mod parse; mod pod; -pub mod qualified; -pub mod report; -pub mod resolve; -pub mod set; -pub mod symbol; +pub(crate) mod qualified; +pub(crate) mod report; +pub(crate) mod resolve; +pub(crate) mod set; +pub(crate) mod symbol; mod tokens; mod toposort; -pub mod trivial; -pub mod types; +pub(crate) mod trivial; +pub(crate) mod types; mod visit; use self::attrs::OtherAttrs; @@ -40,15 +40,16 @@ use syn::punctuated::Punctuated; use syn::token::{Brace, Bracket, Paren}; use syn::{Attribute, Expr, Generics, Lifetime, LitInt, Token, Type as RustType}; -pub use self::atom::Atom; -pub use self::derive::{Derive, Trait}; -pub use self::discriminant::Discriminant; -pub use self::doc::Doc; -pub use self::names::ForeignName; -pub use self::parse::parse_items; -pub use self::types::Types; +pub(crate) use self::atom::Atom; +pub(crate) use self::derive::{Derive, Trait}; +pub(crate) use self::discriminant::Discriminant; +pub(crate) use self::doc::Doc; +pub(crate) use self::names::ForeignName; +pub(crate) use self::parse::parse_items; +pub(crate) use self::types::Types; -pub enum Api { +pub(crate) enum Api { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro Include(Include), Struct(Struct), Enum(Enum), @@ -60,11 +61,13 @@ pub enum Api { Impl(Impl), } -pub struct Include { +pub(crate) struct Include { pub cfg: CfgExpr, pub path: String, pub kind: IncludeKind, + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub begin_span: Span, + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub end_span: Span, } @@ -77,27 +80,35 @@ pub enum IncludeKind { Bracketed, } -pub struct ExternType { +pub(crate) struct ExternType { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub lang: Lang, pub doc: Doc, pub derives: Vec<Derive>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub type_token: Token![type], pub name: Pair, pub generics: Lifetimes, + #[allow(dead_code)] pub colon_token: Option<Token![:]>, pub bounds: Vec<Derive>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub semi_token: Token![;], pub trusted: bool, } -pub struct Struct { +pub(crate) struct Struct { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub doc: Doc, pub derives: Vec<Derive>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub struct_token: Token![struct], pub name: Pair, @@ -106,11 +117,14 @@ pub struct Struct { pub fields: Vec<Var>, } -pub struct Enum { +pub(crate) struct Enum { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub doc: Doc, pub derives: Vec<Derive>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub enum_token: Token![enum], pub name: Pair, @@ -118,12 +132,13 @@ pub struct Enum { pub brace_token: Brace, pub variants: Vec<Variant>, pub variants_from_header: bool, + #[allow(dead_code)] pub variants_from_header_attr: Option<Attribute>, pub repr: EnumRepr, pub explicit_repr: bool, } -pub enum EnumRepr { +pub(crate) enum EnumRepr { Native { atom: Atom, repr_type: Type, @@ -134,11 +149,14 @@ pub enum EnumRepr { }, } -pub struct ExternFn { +pub(crate) struct ExternFn { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub lang: Lang, pub doc: Doc, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub name: Pair, pub sig: Signature, @@ -146,39 +164,49 @@ pub struct ExternFn { pub trusted: bool, } -pub struct TypeAlias { +pub(crate) struct TypeAlias { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub doc: Doc, pub derives: Vec<Derive>, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub type_token: Token![type], pub name: Pair, pub generics: Lifetimes, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub eq_token: Token![=], + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub ty: RustType, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub semi_token: Token![;], } -pub struct Impl { +pub(crate) struct Impl { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub impl_token: Token![impl], pub impl_generics: Lifetimes, + #[allow(dead_code)] pub negative: bool, pub ty: Type, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub ty_generics: Lifetimes, pub brace_token: Brace, pub negative_token: Option<Token![!]>, } #[derive(Clone, Default)] -pub struct Lifetimes { +pub(crate) struct Lifetimes { pub lt_token: Option<Token![<]>, pub lifetimes: Punctuated<Lifetime, Token![,]>, pub gt_token: Option<Token![>]>, } -pub struct Signature { +pub(crate) struct Signature { pub asyncness: Option<Token![async]>, pub unsafety: Option<Token![unsafe]>, pub fn_token: Token![fn], @@ -191,39 +219,48 @@ pub struct Signature { pub throws_tokens: Option<(kw::Result, Token![<], Token![>])>, } -pub struct Var { +pub(crate) struct Var { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub doc: Doc, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub visibility: Token![pub], pub name: Pair, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub colon_token: Token![:], pub ty: Type, } -pub struct Receiver { +pub(crate) struct Receiver { pub pinned: bool, pub ampersand: Token![&], pub lifetime: Option<Lifetime>, pub mutable: bool, pub var: Token![self], pub ty: NamedType, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub colon_token: Token![:], pub shorthand: bool, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub pin_tokens: Option<(kw::Pin, Token![<], Token![>])>, pub mutability: Option<Token![mut]>, } -pub struct Variant { +pub(crate) struct Variant { + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-macro pub cfg: CfgExpr, pub doc: Doc, + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build pub attrs: OtherAttrs, pub name: Pair, pub discriminant: Discriminant, + #[allow(dead_code)] pub expr: Option<Expr>, } -pub enum Type { +pub(crate) enum Type { Ident(NamedType), RustBox(Box<Ty1>), RustVec(Box<Ty1>), @@ -240,14 +277,14 @@ pub enum Type { Array(Box<Array>), } -pub struct Ty1 { +pub(crate) struct Ty1 { pub name: Ident, pub langle: Token![<], pub inner: Type, pub rangle: Token![>], } -pub struct Ref { +pub(crate) struct Ref { pub pinned: bool, pub ampersand: Token![&], pub lifetime: Option<Lifetime>, @@ -257,7 +294,7 @@ pub struct Ref { pub mutability: Option<Token![mut]>, } -pub struct Ptr { +pub(crate) struct Ptr { pub star: Token![*], pub mutable: bool, pub inner: Type, @@ -265,7 +302,7 @@ pub struct Ptr { pub constness: Option<Token![const]>, } -pub struct SliceRef { +pub(crate) struct SliceRef { pub ampersand: Token![&], pub lifetime: Option<Lifetime>, pub mutable: bool, @@ -274,7 +311,7 @@ pub struct SliceRef { pub mutability: Option<Token![mut]>, } -pub struct Array { +pub(crate) struct Array { pub bracket: Bracket, pub inner: Type, pub semi_token: Token![;], @@ -283,7 +320,7 @@ pub struct Array { } #[derive(Copy, Clone, PartialEq)] -pub enum Lang { +pub(crate) enum Lang { Cxx, Rust, } @@ -291,7 +328,7 @@ pub enum Lang { // An association of a defined Rust name with a fully resolved, namespace // qualified C++ name. #[derive(Clone)] -pub struct Pair { +pub(crate) struct Pair { pub namespace: Namespace, pub cxx: ForeignName, pub rust: Ident, @@ -300,7 +337,7 @@ pub struct Pair { // Wrapper for a type which needs to be resolved before it can be printed in // C++. #[derive(PartialEq, Eq, Hash)] -pub struct NamedType { +pub(crate) struct NamedType { pub rust: Ident, pub generics: Lifetimes, } diff --git a/syntax/names.rs b/syntax/names.rs index 329a1022..7afa5a9e 100644 --- a/syntax/names.rs +++ b/syntax/names.rs @@ -8,12 +8,12 @@ use syn::parse::{Error, Parser, Result}; use syn::punctuated::Punctuated; #[derive(Clone)] -pub struct ForeignName { +pub(crate) struct ForeignName { text: String, } impl Pair { - pub fn to_symbol(&self) -> Symbol { + pub(crate) fn to_symbol(&self) -> Symbol { let segments = self .namespace .iter() @@ -24,7 +24,7 @@ impl Pair { } impl NamedType { - pub fn new(rust: Ident) -> Self { + pub(crate) fn new(rust: Ident) -> Self { let generics = Lifetimes { lt_token: None, lifetimes: Punctuated::new(), @@ -32,14 +32,10 @@ impl NamedType { }; NamedType { rust, generics } } - - pub fn span(&self) -> Span { - self.rust.span() - } } impl ForeignName { - pub fn parse(text: &str, span: Span) -> Result<Self> { + pub(crate) fn parse(text: &str, span: Span) -> Result<Self> { // TODO: support C++ names containing whitespace (`unsigned int`) or // non-alphanumeric characters (`operator++`). match Ident::parse_any.parse_str(text) { diff --git a/syntax/namespace.rs b/syntax/namespace.rs index aae865cc..417fb34f 100644 --- a/syntax/namespace.rs +++ b/syntax/namespace.rs @@ -1,7 +1,6 @@ use crate::syntax::qualified::QualifiedName; use quote::IdentFragment; use std::fmt::{self, Display}; -use std::iter::FromIterator; use std::slice::Iter; use syn::parse::{Error, Parse, ParseStream, Result}; use syn::{Expr, Ident, Lit, Meta, Token}; @@ -11,20 +10,20 @@ mod kw { } #[derive(Clone, Default)] -pub struct Namespace { +pub(crate) struct Namespace { segments: Vec<Ident>, } impl Namespace { - pub const ROOT: Self = Namespace { + pub(crate) const ROOT: Self = Namespace { segments: Vec::new(), }; - pub fn iter(&self) -> Iter<Ident> { + pub(crate) fn iter(&self) -> Iter<Ident> { self.segments.iter() } - pub fn parse_bridge_attr_namespace(input: ParseStream) -> Result<Self> { + pub(crate) fn parse_bridge_attr_namespace(input: ParseStream) -> Result<Self> { if input.is_empty() { return Ok(Namespace::ROOT); } @@ -36,7 +35,7 @@ impl Namespace { Ok(namespace) } - pub fn parse_meta(meta: &Meta) -> Result<Self> { + pub(crate) fn parse_meta(meta: &Meta) -> Result<Self> { if let Meta::NameValue(meta) = meta { match &meta.value { Expr::Lit(expr) => { diff --git a/syntax/parse.rs b/syntax/parse.rs index c6fee5f8..850dcc8d 100644 --- a/syntax/parse.rs +++ b/syntax/parse.rs @@ -22,12 +22,12 @@ use syn::{ TypeReference, Variant as RustVariant, Visibility, }; -pub mod kw { +pub(crate) mod kw { syn::custom_keyword!(Pin); syn::custom_keyword!(Result); } -pub fn parse_items( +pub(crate) fn parse_items( cx: &mut Errors, items: Vec<Item>, trusted: bool, @@ -42,7 +42,7 @@ pub fn parse_items( }, Item::Enum(item) => apis.push(parse_enum(cx, item, namespace)), Item::ForeignMod(foreign_mod) => { - parse_foreign_mod(cx, foreign_mod, &mut apis, trusted, namespace) + parse_foreign_mod(cx, foreign_mod, &mut apis, trusted, namespace); } Item::Impl(item) => match parse_impl(cx, item) { Ok(imp) => apis.push(imp), diff --git a/syntax/pod.rs b/syntax/pod.rs index 0bf152ee..506e53cb 100644 --- a/syntax/pod.rs +++ b/syntax/pod.rs @@ -2,7 +2,7 @@ use crate::syntax::atom::Atom::{self, *}; use crate::syntax::{derive, Trait, Type, Types}; impl<'a> Types<'a> { - pub fn is_guaranteed_pod(&self, ty: &Type) -> bool { + pub(crate) fn is_guaranteed_pod(&self, ty: &Type) -> bool { match ty { Type::Ident(ident) => { let ident = &ident.rust; diff --git a/syntax/qualified.rs b/syntax/qualified.rs index e11ffbc1..07c9908c 100644 --- a/syntax/qualified.rs +++ b/syntax/qualified.rs @@ -2,12 +2,12 @@ use syn::ext::IdentExt; use syn::parse::{Error, ParseStream, Result}; use syn::{Ident, LitStr, Token}; -pub struct QualifiedName { +pub(crate) struct QualifiedName { pub segments: Vec<Ident>, } impl QualifiedName { - pub fn parse_quoted(lit: &LitStr) -> Result<Self> { + pub(crate) fn parse_quoted(lit: &LitStr) -> Result<Self> { if lit.value().is_empty() { let segments = Vec::new(); Ok(QualifiedName { segments }) @@ -19,12 +19,12 @@ impl QualifiedName { } } - pub fn parse_unquoted(input: ParseStream) -> Result<Self> { + pub(crate) fn parse_unquoted(input: ParseStream) -> Result<Self> { let allow_raw = true; parse_unquoted(input, allow_raw) } - pub fn parse_quoted_or_unquoted(input: ParseStream) -> Result<Self> { + pub(crate) fn parse_quoted_or_unquoted(input: ParseStream) -> Result<Self> { if input.peek(LitStr) { let lit: LitStr = input.parse()?; Self::parse_quoted(&lit) diff --git a/syntax/report.rs b/syntax/report.rs index d1d8bc9b..1997182a 100644 --- a/syntax/report.rs +++ b/syntax/report.rs @@ -2,24 +2,24 @@ use quote::ToTokens; use std::fmt::Display; use syn::{Error, Result}; -pub struct Errors { +pub(crate) struct Errors { errors: Vec<Error>, } impl Errors { - pub fn new() -> Self { + pub(crate) fn new() -> Self { Errors { errors: Vec::new() } } - pub fn error(&mut self, sp: impl ToTokens, msg: impl Display) { + pub(crate) fn error(&mut self, sp: impl ToTokens, msg: impl Display) { self.errors.push(Error::new_spanned(sp, msg)); } - pub fn push(&mut self, error: Error) { + pub(crate) fn push(&mut self, error: Error) { self.errors.push(error); } - pub fn propagate(&mut self) -> Result<()> { + pub(crate) fn propagate(&mut self) -> Result<()> { let mut iter = self.errors.drain(..); let mut all_errors = match iter.next() { Some(err) => err, diff --git a/syntax/resolve.rs b/syntax/resolve.rs index 3a2635bd..b0a4782c 100644 --- a/syntax/resolve.rs +++ b/syntax/resolve.rs @@ -3,13 +3,13 @@ use crate::syntax::{Lifetimes, NamedType, Pair, Types}; use proc_macro2::Ident; #[derive(Copy, Clone)] -pub struct Resolution<'a> { +pub(crate) struct Resolution<'a> { pub name: &'a Pair, pub generics: &'a Lifetimes, } impl<'a> Types<'a> { - pub fn resolve(&self, ident: &impl UnresolvedName) -> Resolution<'a> { + pub(crate) fn resolve(&self, ident: &impl UnresolvedName) -> Resolution<'a> { let ident = ident.ident(); match self.try_resolve(ident) { Some(resolution) => resolution, @@ -17,13 +17,13 @@ impl<'a> Types<'a> { } } - pub fn try_resolve(&self, ident: &impl UnresolvedName) -> Option<Resolution<'a>> { + pub(crate) fn try_resolve(&self, ident: &impl UnresolvedName) -> Option<Resolution<'a>> { let ident = ident.ident(); self.resolutions.get(ident).copied() } } -pub trait UnresolvedName { +pub(crate) trait UnresolvedName { fn ident(&self) -> &Ident; } diff --git a/syntax/set.rs b/syntax/set.rs index ca0c43e0..0907834b 100644 --- a/syntax/set.rs +++ b/syntax/set.rs @@ -1,15 +1,14 @@ use std::fmt::{self, Debug}; use std::slice; -pub use self::ordered::OrderedSet; -pub use self::unordered::UnorderedSet; +pub(crate) use self::ordered::OrderedSet; +pub(crate) use self::unordered::UnorderedSet; mod ordered { use super::{Iter, UnorderedSet}; - use std::borrow::Borrow; use std::hash::Hash; - pub struct OrderedSet<T> { + pub(crate) struct OrderedSet<T> { set: UnorderedSet<T>, vec: Vec<T>, } @@ -18,44 +17,28 @@ mod ordered { where T: Hash + Eq, { - pub fn new() -> Self { + pub(crate) fn new() -> Self { OrderedSet { set: UnorderedSet::new(), vec: Vec::new(), } } - pub fn insert(&mut self, value: &'a T) -> bool { + pub(crate) fn insert(&mut self, value: &'a T) -> bool { let new = self.set.insert(value); if new { self.vec.push(value); } new } - - pub fn contains<Q>(&self, value: &Q) -> bool - where - &'a T: Borrow<Q>, - Q: ?Sized + Hash + Eq, - { - self.set.contains(value) - } - - pub fn get<Q>(&self, value: &Q) -> Option<&'a T> - where - &'a T: Borrow<Q>, - Q: ?Sized + Hash + Eq, - { - self.set.get(value).copied() - } } impl<'a, T> OrderedSet<&'a T> { - pub fn is_empty(&self) -> bool { + pub(crate) fn is_empty(&self) -> bool { self.vec.is_empty() } - pub fn iter(&self) -> Iter<'_, 'a, T> { + pub(crate) fn iter(&self) -> Iter<'_, 'a, T> { Iter(self.vec.iter()) } } @@ -76,21 +59,21 @@ mod unordered { // Wrapper prohibits accidentally introducing iteration over the set, which // could lead to nondeterministic generated code. - pub struct UnorderedSet<T>(HashSet<T>); + pub(crate) struct UnorderedSet<T>(HashSet<T>); impl<T> UnorderedSet<T> where T: Hash + Eq, { - pub fn new() -> Self { + pub(crate) fn new() -> Self { UnorderedSet(HashSet::new()) } - pub fn insert(&mut self, value: T) -> bool { + pub(crate) fn insert(&mut self, value: T) -> bool { self.0.insert(value) } - pub fn contains<Q>(&self, value: &Q) -> bool + pub(crate) fn contains<Q>(&self, value: &Q) -> bool where T: Borrow<Q>, Q: ?Sized + Hash + Eq, @@ -98,7 +81,8 @@ mod unordered { self.0.contains(value) } - pub fn get<Q>(&self, value: &Q) -> Option<&T> + #[allow(dead_code)] // only used by cxx-build, not cxxbridge-cmd + pub(crate) fn get<Q>(&self, value: &Q) -> Option<&T> where T: Borrow<Q>, Q: ?Sized + Hash + Eq, @@ -106,13 +90,13 @@ mod unordered { self.0.get(value) } - pub fn retain(&mut self, f: impl FnMut(&T) -> bool) { + pub(crate) fn retain(&mut self, f: impl FnMut(&T) -> bool) { self.0.retain(f); } } } -pub struct Iter<'s, 'a, T>(slice::Iter<'s, &'a T>); +pub(crate) struct Iter<'s, 'a, T>(slice::Iter<'s, &'a T>); impl<'s, 'a, T> Iterator for Iter<'s, 'a, T> { type Item = &'a T; diff --git a/syntax/symbol.rs b/syntax/symbol.rs index 4c1607e3..f9fd32c5 100644 --- a/syntax/symbol.rs +++ b/syntax/symbol.rs @@ -6,7 +6,7 @@ use std::fmt::{self, Display, Write}; // A mangled symbol consisting of segments separated by '$'. // For example: cxxbridge1$string$new -pub struct Symbol(String); +pub(crate) struct Symbol(String); impl Display for Symbol { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { @@ -30,7 +30,7 @@ impl Symbol { assert!(self.0.len() > len_before); } - pub fn from_idents<'a>(it: impl Iterator<Item = &'a dyn Segment>) -> Self { + pub(crate) fn from_idents<'a>(it: impl Iterator<Item = &'a dyn Segment>) -> Self { let mut symbol = Symbol(String::new()); for segment in it { segment.write(&mut symbol); @@ -40,7 +40,7 @@ impl Symbol { } } -pub trait Segment { +pub(crate) trait Segment { fn write(&self, symbol: &mut Symbol); } @@ -100,7 +100,7 @@ where } } -pub fn join(segments: &[&dyn Segment]) -> Symbol { +pub(crate) fn join(segments: &[&dyn Segment]) -> Symbol { let mut symbol = Symbol(String::new()); for segment in segments { segment.write(&mut symbol); diff --git a/syntax/toposort.rs b/syntax/toposort.rs index 8fe55b8b..9c97eb1c 100644 --- a/syntax/toposort.rs +++ b/syntax/toposort.rs @@ -7,7 +7,7 @@ enum Mark { Visited, } -pub fn sort<'a>(cx: &mut Errors, apis: &'a [Api], types: &Types<'a>) -> Vec<&'a Struct> { +pub(crate) fn sort<'a>(cx: &mut Errors, apis: &'a [Api], types: &Types<'a>) -> Vec<&'a Struct> { let mut sorted = Vec::new(); let ref mut marks = Map::new(); for api in apis { diff --git a/syntax/trivial.rs b/syntax/trivial.rs index 067e2d75..95334005 100644 --- a/syntax/trivial.rs +++ b/syntax/trivial.rs @@ -5,7 +5,7 @@ use proc_macro2::Ident; use std::fmt::{self, Display}; #[derive(Copy, Clone)] -pub enum TrivialReason<'a> { +pub(crate) enum TrivialReason<'a> { StructField(&'a Struct), FunctionArgument(&'a ExternFn), FunctionReturn(&'a ExternFn), @@ -15,7 +15,7 @@ pub enum TrivialReason<'a> { UnpinnedMut(&'a ExternFn), } -pub fn required_trivial_reasons<'a>( +pub(crate) fn required_trivial_reasons<'a>( apis: &'a [Api], all: &Set<&'a Type>, structs: &UnorderedMap<&'a Ident, &'a Struct>, @@ -124,7 +124,7 @@ pub fn required_trivial_reasons<'a>( // Context: // "type {type} should be trivially move constructible and trivially destructible in C++ to be used as {what} in Rust" // "needs a cxx::ExternType impl in order to be used as {what}" -pub fn as_what<'a>(name: &'a Pair, reasons: &'a [TrivialReason]) -> impl Display + 'a { +pub(crate) fn as_what<'a>(name: &'a Pair, reasons: &'a [TrivialReason]) -> impl Display + 'a { struct Description<'a> { name: &'a Pair, reasons: &'a [TrivialReason<'a>], diff --git a/syntax/types.rs b/syntax/types.rs index 82b45300..623a8b8d 100644 --- a/syntax/types.rs +++ b/syntax/types.rs @@ -12,7 +12,7 @@ use crate::syntax::{ use proc_macro2::Ident; use quote::ToTokens; -pub struct Types<'a> { +pub(crate) struct Types<'a> { pub all: OrderedSet<&'a Type>, pub structs: UnorderedMap<&'a Ident, &'a Struct>, pub enums: UnorderedMap<&'a Ident, &'a Enum>, @@ -28,7 +28,7 @@ pub struct Types<'a> { } impl<'a> Types<'a> { - pub fn collect(cx: &mut Errors, apis: &'a [Api]) -> Self { + pub(crate) fn collect(cx: &mut Errors, apis: &'a [Api]) -> Self { let mut all = OrderedSet::new(); let mut structs = UnorderedMap::new(); let mut enums = UnorderedMap::new(); @@ -241,7 +241,7 @@ impl<'a> Types<'a> { types } - pub fn needs_indirect_abi(&self, ty: &Type) -> bool { + pub(crate) fn needs_indirect_abi(&self, ty: &Type) -> bool { match ty { Type::RustBox(_) | Type::UniquePtr(_) => false, Type::Array(_) => true, @@ -255,7 +255,8 @@ impl<'a> Types<'a> { // refuses to believe that C could know how to supply us with a pointer to a // Rust String, even though C could easily have obtained that pointer // legitimately from a Rust call. - pub fn is_considered_improper_ctype(&self, ty: &Type) -> bool { + #[allow(dead_code)] // only used by cxxbridge-macro, not cxx-build + pub(crate) fn is_considered_improper_ctype(&self, ty: &Type) -> bool { match self.determine_improper_ctype(ty) { ImproperCtype::Definite(improper) => improper, ImproperCtype::Depends(ident) => self.struct_improper_ctypes.contains(ident), @@ -264,7 +265,7 @@ impl<'a> Types<'a> { // Types which we need to assume could possibly exist by value on the Rust // side. - pub fn is_maybe_trivial(&self, ty: &Ident) -> bool { + pub(crate) fn is_maybe_trivial(&self, ty: &Ident) -> bool { self.structs.contains_key(ty) || self.enums.contains_key(ty) || self.aliases.contains_key(ty) diff --git a/syntax/visit.rs b/syntax/visit.rs index 2f31378f..e31b8c41 100644 --- a/syntax/visit.rs +++ b/syntax/visit.rs @@ -1,12 +1,12 @@ use crate::syntax::Type; -pub trait Visit<'a> { +pub(crate) trait Visit<'a> { fn visit_type(&mut self, ty: &'a Type) { visit_type(self, ty); } } -pub fn visit_type<'a, V>(visitor: &mut V, ty: &'a Type) +pub(crate) fn visit_type<'a, V>(visitor: &mut V, ty: &'a Type) where V: Visit<'a> + ?Sized, { @@ -1,9 +1,16 @@ +load("//tools/buck:build_mode.bzl", "build_mode") load("//tools/buck:rust_cxx_bridge.bzl", "rust_cxx_bridge") +build_mode( + name = "build_mode", + cell = native.get_cell_name(), +) + rust_test( name = "test", srcs = ["test.rs"], - edition = "2018", + edition = "2021", + remote_execution_action_key_providers = ":build_mode", deps = [ ":ffi", "//:cxx", @@ -18,7 +25,7 @@ rust_library( "ffi/module.rs", ], crate = "cxx_test_suite", - edition = "2018", + edition = "2021", deps = [ ":impl", "//:cxx", @@ -33,11 +40,12 @@ cxx_library( ":module/source", ], exported_deps = ["//:core"], - exported_headers = { - "ffi/lib.rs.h": ":bridge/header", - "ffi/module.rs.h": ":module/header", - "ffi/tests.h": "ffi/tests.h", - }, + exported_headers = [ + ":bridge/header", + ":module/header", + "ffi/tests.h", + ], + preferred_linkage = "static", ) rust_cxx_bridge( diff --git a/tests/BUILD b/tests/BUILD index 3c25d963..bccde55e 100644 --- a/tests/BUILD +++ b/tests/BUILD @@ -6,7 +6,7 @@ rust_test( name = "test", size = "small", srcs = ["test.rs"], - edition = "2018", + edition = "2021", deps = [ ":cxx_test_suite", "//:cxx", @@ -20,7 +20,7 @@ rust_library( "ffi/lib.rs", "ffi/module.rs", ], - edition = "2018", + edition = "2021", deps = [ ":impl", "//:cxx", diff --git a/tests/cxx_string.rs b/tests/cxx_string.rs index 67444fa5..8da0c8b7 100644 --- a/tests/cxx_string.rs +++ b/tests/cxx_string.rs @@ -1,4 +1,12 @@ +#![allow( + clippy::incompatible_msrv, // https://github.com/rust-lang/rust-clippy/issues/12257 + clippy::items_after_statements, + clippy::uninlined_format_args, + clippy::unused_async +)] + use cxx::{let_cxx_string, CxxString}; +use std::fmt::Write as _; #[test] fn test_async_cxx_string() { @@ -15,8 +23,33 @@ fn test_async_cxx_string() { } #[test] +fn test_display() { + let_cxx_string!(s = b"w\"x\'y\xF1\x80\xF1\x80z"); + + assert_eq!(format!("{}", s), "w\"x'y\u{fffd}\u{fffd}z"); +} + +#[test] fn test_debug() { - let_cxx_string!(s = "x\"y\'z"); + let_cxx_string!(s = b"w\"x\'y\xF1\x80z"); + + assert_eq!(format!("{:?}", s), r#""w\"x'y\xf1\x80z""#); +} + +#[test] +fn test_fmt_write() { + let_cxx_string!(s = ""); + + let name = "world"; + write!(s, "Hello, {name}!").unwrap(); + assert_eq!(s.to_str(), Ok("Hello, world!")); +} + +#[test] +fn test_io_write() { + let_cxx_string!(s = ""); + let mut reader: &[u8] = b"Hello, world!"; - assert_eq!(format!("{:?}", s), r#""x\"y'z""#); + std::io::copy(&mut reader, &mut s).unwrap(); + assert_eq!(s.to_str(), Ok("Hello, world!")); } diff --git a/tests/cxx_vector.rs b/tests/cxx_vector.rs new file mode 100644 index 00000000..de9e8efe --- /dev/null +++ b/tests/cxx_vector.rs @@ -0,0 +1,7 @@ +use cxx::CxxVector; + +#[test] +fn test_cxx_vector_new() { + let vector = CxxVector::<i32>::new(); + assert!(vector.is_empty()); +} diff --git a/tests/ffi/Cargo.toml b/tests/ffi/Cargo.toml index ef91f4f6..167bbb02 100644 --- a/tests/ffi/Cargo.toml +++ b/tests/ffi/Cargo.toml @@ -2,7 +2,7 @@ name = "cxx-test-suite" version = "0.0.0" authors = ["David Tolnay <dtolnay@gmail.com>"] -edition = "2018" +edition = "2021" publish = false [lib] diff --git a/tests/ffi/build.rs b/tests/ffi/build.rs index a1a64b7f..7051cf0b 100644 --- a/tests/ffi/build.rs +++ b/tests/ffi/build.rs @@ -9,7 +9,7 @@ fn main() { let sources = vec!["lib.rs", "module.rs"]; let mut build = cxx_build::bridges(sources); build.file("tests.cc"); - build.flag_if_supported(cxxbridge_flags::STD); + build.std(cxxbridge_flags::STD); build.warnings_into_errors(cfg!(deny_warnings)); if cfg!(not(target_env = "msvc")) { build.define("CXX_TEST_INSTANTIATIONS", None); diff --git a/tests/ffi/lib.rs b/tests/ffi/lib.rs index d6a5f028..f3a8310f 100644 --- a/tests/ffi/lib.rs +++ b/tests/ffi/lib.rs @@ -1,10 +1,13 @@ +#![forbid(unsafe_op_in_unsafe_fn)] #![allow( clippy::boxed_local, clippy::derive_partial_eq_without_eq, clippy::just_underscores_and_digits, + clippy::missing_errors_doc, clippy::missing_safety_doc, clippy::must_use_candidate, clippy::needless_lifetimes, + clippy::needless_pass_by_ref_mut, clippy::needless_pass_by_value, clippy::ptr_arg, clippy::trivially_copy_pass_by_ref, @@ -405,7 +408,7 @@ impl R { } } -pub struct Reference<'a>(&'a String); +pub struct Reference<'a>(pub &'a String); impl ffi::Shared { fn r_method_on_shared(&self) -> String { diff --git a/tests/test.rs b/tests/test.rs index bcf0a2cd..1611d971 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -5,6 +5,7 @@ clippy::cast_possible_wrap, clippy::float_cmp, clippy::needless_pass_by_value, + clippy::needless_pass_by_ref_mut, clippy::unit_cmp, clippy::unseparated_literal_suffix )] @@ -16,7 +17,7 @@ use std::cell::Cell; use std::ffi::CStr; thread_local! { - static CORRECT: Cell<bool> = Cell::new(false); + static CORRECT: Cell<bool> = const { Cell::new(false) }; } #[no_mangle] diff --git a/tests/ui/derive_noncopy.stderr b/tests/ui/derive_noncopy.stderr index b4f35d3e..359581aa 100644 --- a/tests/ui/derive_noncopy.stderr +++ b/tests/ui/derive_noncopy.stderr @@ -1,7 +1,7 @@ -error[E0204]: the trait `Copy` cannot be implemented for this type +error[E0204]: the trait `std::marker::Copy` cannot be implemented for this type --> tests/ui/derive_noncopy.rs:4:12 | 4 | struct TryCopy { | ^^^^^^^ 5 | other: Other, - | ------------ this field does not implement `Copy` + | ------------ this field does not implement `std::marker::Copy` diff --git a/tests/ui/expected_named.stderr b/tests/ui/expected_named.stderr index 0068bdf3..c0fa04de 100644 --- a/tests/ui/expected_named.stderr +++ b/tests/ui/expected_named.stderr @@ -5,7 +5,7 @@ error[E0106]: missing lifetime specifier | ^^^^^^^^ expected named lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from -help: consider using the `'static` lifetime +help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values | 5 | fn borrowed() -> UniquePtr<Borrowed<'static>>; | +++++++++ diff --git a/tests/ui/missing_unsafe.stderr b/tests/ui/missing_unsafe.stderr index e7dcba74..31ef9e24 100644 --- a/tests/ui/missing_unsafe.stderr +++ b/tests/ui/missing_unsafe.stderr @@ -1,4 +1,4 @@ -error[E0133]: call to unsafe function is unsafe and requires unsafe function or block +error[E0133]: call to unsafe function `f` is unsafe and requires unsafe function or block --> tests/ui/missing_unsafe.rs:4:12 | 4 | fn f(x: i32); diff --git a/tests/ui/opaque_autotraits.stderr b/tests/ui/opaque_autotraits.stderr index c6447c55..0a797b46 100644 --- a/tests/ui/opaque_autotraits.stderr +++ b/tests/ui/opaque_autotraits.stderr @@ -4,10 +4,14 @@ error[E0277]: `*const cxx::void` cannot be sent between threads safely 13 | assert_send::<ffi::Opaque>(); | ^^^^^^^^^^^ `*const cxx::void` cannot be sent between threads safely | - = help: within `ffi::Opaque`, the trait `Send` is not implemented for `*const cxx::void` - = note: required because it appears within the type `[*const void; 0]` - = note: required because it appears within the type `Opaque` -note: required because it appears within the type `Opaque` + = help: within `ffi::Opaque`, the trait `Send` is not implemented for `*const cxx::void`, which is required by `ffi::Opaque: Send` + = note: required because it appears within the type `[*const cxx::void; 0]` +note: required because it appears within the type `cxx::private::Opaque` + --> src/opaque.rs + | + | pub struct Opaque { + | ^^^^^^ +note: required because it appears within the type `ffi::Opaque` --> tests/ui/opaque_autotraits.rs:4:14 | 4 | type Opaque; @@ -24,10 +28,14 @@ error[E0277]: `*const cxx::void` cannot be shared between threads safely 14 | assert_sync::<ffi::Opaque>(); | ^^^^^^^^^^^ `*const cxx::void` cannot be shared between threads safely | - = help: within `ffi::Opaque`, the trait `Sync` is not implemented for `*const cxx::void` - = note: required because it appears within the type `[*const void; 0]` - = note: required because it appears within the type `Opaque` -note: required because it appears within the type `Opaque` + = help: within `ffi::Opaque`, the trait `Sync` is not implemented for `*const cxx::void`, which is required by `ffi::Opaque: Sync` + = note: required because it appears within the type `[*const cxx::void; 0]` +note: required because it appears within the type `cxx::private::Opaque` + --> src/opaque.rs + | + | pub struct Opaque { + | ^^^^^^ +note: required because it appears within the type `ffi::Opaque` --> tests/ui/opaque_autotraits.rs:4:14 | 4 | type Opaque; @@ -42,12 +50,21 @@ error[E0277]: `PhantomPinned` cannot be unpinned --> tests/ui/opaque_autotraits.rs:15:20 | 15 | assert_unpin::<ffi::Opaque>(); - | ^^^^^^^^^^^ within `ffi::Opaque`, the trait `Unpin` is not implemented for `PhantomPinned` + | ^^^^^^^^^^^ within `ffi::Opaque`, the trait `Unpin` is not implemented for `PhantomPinned`, which is required by `ffi::Opaque: Unpin` + | + = note: consider using the `pin!` macro + consider using `Box::pin` if you need to access the pinned value outside of the current scope +note: required because it appears within the type `PhantomData<PhantomPinned>` + --> $RUST/core/src/marker.rs + | + | pub struct PhantomData<T: ?Sized>; + | ^^^^^^^^^^^ +note: required because it appears within the type `cxx::private::Opaque` + --> src/opaque.rs | - = note: consider using `Box::pin` - = note: required because it appears within the type `PhantomData<PhantomPinned>` - = note: required because it appears within the type `Opaque` -note: required because it appears within the type `Opaque` + | pub struct Opaque { + | ^^^^^^ +note: required because it appears within the type `ffi::Opaque` --> tests/ui/opaque_autotraits.rs:4:14 | 4 | type Opaque; diff --git a/tests/ui/opaque_not_sized.stderr b/tests/ui/opaque_not_sized.stderr index 85be4af3..732ffeb9 100644 --- a/tests/ui/opaque_not_sized.stderr +++ b/tests/ui/opaque_not_sized.stderr @@ -4,7 +4,7 @@ error[E0277]: the size for values of type `str` cannot be known at compilation t 4 | type TypeR; | ^^^^^ doesn't have a size known at compile-time | - = help: within `TypeR`, the trait `Sized` is not implemented for `str` + = help: within `TypeR`, the trait `Sized` is not implemented for `str`, which is required by `TypeR: Sized` note: required because it appears within the type `TypeR` --> tests/ui/opaque_not_sized.rs:8:8 | diff --git a/tests/ui/ptr_no_const_mut.stderr b/tests/ui/ptr_no_const_mut.stderr index 4b1bf06f..a6d44786 100644 --- a/tests/ui/ptr_no_const_mut.stderr +++ b/tests/ui/ptr_no_const_mut.stderr @@ -6,10 +6,10 @@ error: expected `mut` or `const` keyword in raw pointer type | help: add `mut` or `const` here | -6 | fn get_neither_const_nor_mut() -> *const C; - | +++++ 6 | fn get_neither_const_nor_mut() -> *mut C; | +++ +6 | fn get_neither_const_nor_mut() -> *const C; + | +++++ error: expected `const` or `mut` --> tests/ui/ptr_no_const_mut.rs:6:44 diff --git a/tests/ui/rust_pinned.stderr b/tests/ui/rust_pinned.stderr index a0fc0338..94079d9a 100644 --- a/tests/ui/rust_pinned.stderr +++ b/tests/ui/rust_pinned.stderr @@ -2,9 +2,10 @@ error[E0277]: `PhantomPinned` cannot be unpinned --> tests/ui/rust_pinned.rs:6:14 | 6 | type Pinned; - | ^^^^^^ within `Pinned`, the trait `Unpin` is not implemented for `PhantomPinned` + | ^^^^^^ within `Pinned`, the trait `Unpin` is not implemented for `PhantomPinned`, which is required by `Pinned: Unpin` | - = note: consider using `Box::pin` + = note: consider using the `pin!` macro + consider using `Box::pin` if you need to access the pinned value outside of the current scope note: required because it appears within the type `Pinned` --> tests/ui/rust_pinned.rs:10:12 | diff --git a/tests/ui/unique_ptr_to_opaque.stderr b/tests/ui/unique_ptr_to_opaque.stderr index 3c121e54..7aa5d8ae 100644 --- a/tests/ui/unique_ptr_to_opaque.stderr +++ b/tests/ui/unique_ptr_to_opaque.stderr @@ -14,5 +14,8 @@ note: expected this to be `Trivial` note: required by a bound in `UniquePtr::<T>::new` --> src/unique_ptr.rs | + | pub fn new(value: T) -> Self + | --- required by a bound in this associated function + | where | T: ExternType<Kind = Trivial>, | ^^^^^^^^^^^^^^ required by this bound in `UniquePtr::<T>::new` diff --git a/tests/ui/unpin_impl.stderr b/tests/ui/unpin_impl.stderr index afe5a806..888d64fb 100644 --- a/tests/ui/unpin_impl.stderr +++ b/tests/ui/unpin_impl.stderr @@ -1,14 +1,8 @@ -error[E0282]: type annotations needed +error[E0283]: type annotations needed --> tests/ui/unpin_impl.rs:4:14 | 4 | type Opaque; | ^^^^^^ cannot infer type - -error[E0283]: type annotations needed - --> tests/ui/unpin_impl.rs:1:1 - | -1 | #[cxx::bridge] - | ^^^^^^^^^^^^^^ cannot infer type | note: multiple `impl`s satisfying `ffi::Opaque: __AmbiguousIfImpl<_>` found --> tests/ui/unpin_impl.rs:1:1 diff --git a/tests/ui/unsupported_elided.stderr b/tests/ui/unsupported_elided.stderr index 4ccac6fb..205fcfd2 100644 --- a/tests/ui/unsupported_elided.stderr +++ b/tests/ui/unsupported_elided.stderr @@ -20,3 +20,11 @@ help: consider introducing a named lifetime parameter | 8 | fn f<'a>(t: &'a T<'a>) -> &'a str; | ++++ ++ ++++ ++ + +error: lifetime may not live long enough + --> tests/ui/unsupported_elided.rs:8:12 + | +8 | fn f(t: &T) -> &str; + | ^ - has type `&T<'1>` + | | + | returning this value requires that `'1` must outlive `'static` diff --git a/tests/ui/vector_autotraits.stderr b/tests/ui/vector_autotraits.stderr index 8851cedc..1f0c522e 100644 --- a/tests/ui/vector_autotraits.stderr +++ b/tests/ui/vector_autotraits.stderr @@ -4,17 +4,29 @@ error[E0277]: `*const cxx::void` cannot be sent between threads safely 20 | assert_send::<CxxVector<ffi::NotThreadSafe>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const cxx::void` cannot be sent between threads safely | - = help: within `CxxVector<NotThreadSafe>`, the trait `Send` is not implemented for `*const cxx::void` - = note: required because it appears within the type `[*const void; 0]` - = note: required because it appears within the type `Opaque` + = help: within `CxxVector<NotThreadSafe>`, the trait `Send` is not implemented for `*const cxx::void`, which is required by `CxxVector<NotThreadSafe>: Send` + = note: required because it appears within the type `[*const cxx::void; 0]` +note: required because it appears within the type `cxx::private::Opaque` + --> src/opaque.rs + | + | pub struct Opaque { + | ^^^^^^ note: required because it appears within the type `NotThreadSafe` --> tests/ui/vector_autotraits.rs:7:14 | 7 | type NotThreadSafe; | ^^^^^^^^^^^^^ = note: required because it appears within the type `[NotThreadSafe]` - = note: required because it appears within the type `PhantomData<[NotThreadSafe]>` - = note: required because it appears within the type `CxxVector<NotThreadSafe>` +note: required because it appears within the type `PhantomData<[NotThreadSafe]>` + --> $RUST/core/src/marker.rs + | + | pub struct PhantomData<T: ?Sized>; + | ^^^^^^^^^^^ +note: required because it appears within the type `CxxVector<NotThreadSafe>` + --> src/cxx_vector.rs + | + | pub struct CxxVector<T> { + | ^^^^^^^^^ note: required by a bound in `assert_send` --> tests/ui/vector_autotraits.rs:16:19 | diff --git a/third-party/.cargo/.gitignore b/third-party/.cargo/.gitignore new file mode 100644 index 00000000..5c5d3c3e --- /dev/null +++ b/third-party/.cargo/.gitignore @@ -0,0 +1,4 @@ +/.package-cache +/.package-cache-mutate +/config.toml +/registry/ diff --git a/third-party/.gitignore b/third-party/.gitignore index b0509488..61ead866 100644 --- a/third-party/.gitignore +++ b/third-party/.gitignore @@ -1,2 +1 @@ -/.cargo /vendor diff --git a/third-party/BUCK b/third-party/BUCK index cb756ae7..42ef6676 100644 --- a/third-party/BUCK +++ b/third-party/BUCK @@ -1,132 +1,95 @@ # @generated by `reindeer buckify` -load("//tools/buck:buildscript.bzl", "buildscript_args") -load("//tools/buck:third_party.bzl", "third_party_rust_library") - -third_party_rust_library( - name = "bitflags-1.3.2", - srcs = [ - "vendor/bitflags-1.3.2/src/example_generated.rs", - "vendor/bitflags-1.3.2/src/lib.rs", +load("@prelude//rust:cargo_buildscript.bzl", "buildscript_run") +load("@prelude//rust:cargo_package.bzl", "cargo") + +http_archive( + name = "anstyle-1.0.6.crate", + sha256 = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc", + strip_prefix = "anstyle-1.0.6", + urls = ["https://crates.io/api/v1/crates/anstyle/1.0.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "anstyle-1.0.6", + srcs = [":anstyle-1.0.6.crate"], + crate = "anstyle", + crate_root = "anstyle-1.0.6.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "std", ], - crate = "bitflags", - crate_root = "vendor/bitflags-1.3.2/src/lib.rs", - edition = "2018", - features = ["default"], - rustc_flags = ["--cap-lints=allow"], visibility = [], ) alias( name = "cc", - actual = ":cc-1.0.79", + actual = ":cc-1.0.89", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "cc-1.0.79", - srcs = [ - "vendor/cc-1.0.79/src/com.rs", - "vendor/cc-1.0.79/src/lib.rs", - "vendor/cc-1.0.79/src/registry.rs", - "vendor/cc-1.0.79/src/setup_config.rs", - "vendor/cc-1.0.79/src/vs_instances.rs", - "vendor/cc-1.0.79/src/winapi.rs", - "vendor/cc-1.0.79/src/windows_registry.rs", - ], +http_archive( + name = "cc-1.0.89.crate", + sha256 = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723", + strip_prefix = "cc-1.0.89", + urls = ["https://crates.io/api/v1/crates/cc/1.0.89/download"], + visibility = [], +) + +cargo.rust_library( + name = "cc-1.0.89", + srcs = [":cc-1.0.89.crate"], crate = "cc", - crate_root = "vendor/cc-1.0.79/src/lib.rs", + crate_root = "cc-1.0.89.crate/src/lib.rs", edition = "2018", - rustc_flags = ["--cap-lints=allow"], visibility = [], ) alias( name = "clap", - actual = ":clap-4.1.10", + actual = ":clap-4.5.1", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "clap-4.1.10", - srcs = [ - "vendor/clap-4.1.10/examples/demo.md", - "vendor/clap-4.1.10/examples/demo.rs", - "vendor/clap-4.1.10/src/_cookbook/cargo_example.rs", - "vendor/clap-4.1.10/src/_cookbook/cargo_example_derive.rs", - "vendor/clap-4.1.10/src/_cookbook/escaped_positional.rs", - "vendor/clap-4.1.10/src/_cookbook/escaped_positional_derive.rs", - "vendor/clap-4.1.10/src/_cookbook/find.rs", - "vendor/clap-4.1.10/src/_cookbook/git.rs", - "vendor/clap-4.1.10/src/_cookbook/git_derive.rs", - "vendor/clap-4.1.10/src/_cookbook/mod.rs", - "vendor/clap-4.1.10/src/_cookbook/multicall_busybox.rs", - "vendor/clap-4.1.10/src/_cookbook/multicall_hostname.rs", - "vendor/clap-4.1.10/src/_cookbook/pacman.rs", - "vendor/clap-4.1.10/src/_cookbook/repl.rs", - "vendor/clap-4.1.10/src/_cookbook/typed_derive.rs", - "vendor/clap-4.1.10/src/_derive/_tutorial.rs", - "vendor/clap-4.1.10/src/_derive/mod.rs", - "vendor/clap-4.1.10/src/_faq.rs", - "vendor/clap-4.1.10/src/_features.rs", - "vendor/clap-4.1.10/src/_tutorial.rs", - "vendor/clap-4.1.10/src/builder/action.rs", - "vendor/clap-4.1.10/src/builder/app_settings.rs", - "vendor/clap-4.1.10/src/builder/arg.rs", - "vendor/clap-4.1.10/src/builder/arg_group.rs", - "vendor/clap-4.1.10/src/builder/arg_predicate.rs", - "vendor/clap-4.1.10/src/builder/arg_settings.rs", - "vendor/clap-4.1.10/src/builder/command.rs", - "vendor/clap-4.1.10/src/builder/debug_asserts.rs", - "vendor/clap-4.1.10/src/builder/mod.rs", - "vendor/clap-4.1.10/src/builder/os_str.rs", - "vendor/clap-4.1.10/src/builder/possible_value.rs", - "vendor/clap-4.1.10/src/builder/range.rs", - "vendor/clap-4.1.10/src/builder/resettable.rs", - "vendor/clap-4.1.10/src/builder/str.rs", - "vendor/clap-4.1.10/src/builder/styled_str.rs", - "vendor/clap-4.1.10/src/builder/tests.rs", - "vendor/clap-4.1.10/src/builder/value_hint.rs", - "vendor/clap-4.1.10/src/builder/value_parser.rs", - "vendor/clap-4.1.10/src/derive.rs", - "vendor/clap-4.1.10/src/error/context.rs", - "vendor/clap-4.1.10/src/error/format.rs", - "vendor/clap-4.1.10/src/error/kind.rs", - "vendor/clap-4.1.10/src/error/mod.rs", - "vendor/clap-4.1.10/src/lib.rs", - "vendor/clap-4.1.10/src/macros.rs", - "vendor/clap-4.1.10/src/mkeymap.rs", - "vendor/clap-4.1.10/src/output/fmt.rs", - "vendor/clap-4.1.10/src/output/help.rs", - "vendor/clap-4.1.10/src/output/help_template.rs", - "vendor/clap-4.1.10/src/output/mod.rs", - "vendor/clap-4.1.10/src/output/textwrap/core.rs", - "vendor/clap-4.1.10/src/output/textwrap/mod.rs", - "vendor/clap-4.1.10/src/output/textwrap/word_separators.rs", - "vendor/clap-4.1.10/src/output/textwrap/wrap_algorithms.rs", - "vendor/clap-4.1.10/src/output/usage.rs", - "vendor/clap-4.1.10/src/parser/arg_matcher.rs", - "vendor/clap-4.1.10/src/parser/error.rs", - "vendor/clap-4.1.10/src/parser/features/mod.rs", - "vendor/clap-4.1.10/src/parser/features/suggestions.rs", - "vendor/clap-4.1.10/src/parser/matches/any_value.rs", - "vendor/clap-4.1.10/src/parser/matches/arg_matches.rs", - "vendor/clap-4.1.10/src/parser/matches/matched_arg.rs", - "vendor/clap-4.1.10/src/parser/matches/mod.rs", - "vendor/clap-4.1.10/src/parser/matches/value_source.rs", - "vendor/clap-4.1.10/src/parser/mod.rs", - "vendor/clap-4.1.10/src/parser/parser.rs", - "vendor/clap-4.1.10/src/parser/validator.rs", - "vendor/clap-4.1.10/src/util/color.rs", - "vendor/clap-4.1.10/src/util/flat_map.rs", - "vendor/clap-4.1.10/src/util/flat_set.rs", - "vendor/clap-4.1.10/src/util/graph.rs", - "vendor/clap-4.1.10/src/util/id.rs", - "vendor/clap-4.1.10/src/util/mod.rs", - "vendor/clap-4.1.10/src/util/str_to_bool.rs", - ], +http_archive( + name = "clap-4.5.1.crate", + sha256 = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da", + strip_prefix = "clap-4.5.1", + urls = ["https://crates.io/api/v1/crates/clap/4.5.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "clap-4.5.1", + srcs = [":clap-4.5.1.crate"], crate = "clap", - crate_root = "vendor/clap-4.1.10/src/lib.rs", + crate_root = "clap-4.5.1.crate/src/lib.rs", + edition = "2021", + features = [ + "error-context", + "help", + "std", + "usage", + ], + visibility = [], + deps = [":clap_builder-4.5.1"], +) + +http_archive( + name = "clap_builder-4.5.1.crate", + sha256 = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb", + strip_prefix = "clap_builder-4.5.1", + urls = ["https://crates.io/api/v1/crates/clap_builder/4.5.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "clap_builder-4.5.1", + srcs = [":clap_builder-4.5.1.crate"], + crate = "clap_builder", + crate_root = "clap_builder-4.5.1.crate/src/lib.rs", edition = "2021", features = [ "error-context", @@ -134,23 +97,28 @@ third_party_rust_library( "std", "usage", ], - rustc_flags = ["--cap-lints=allow"], visibility = [], deps = [ - ":bitflags-1.3.2", - ":clap_lex-0.3.3", + ":anstyle-1.0.6", + ":clap_lex-0.7.0", ], ) -third_party_rust_library( - name = "clap_lex-0.3.3", - srcs = ["vendor/clap_lex-0.3.3/src/lib.rs"], +http_archive( + name = "clap_lex-0.7.0.crate", + sha256 = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce", + strip_prefix = "clap_lex-0.7.0", + urls = ["https://crates.io/api/v1/crates/clap_lex/0.7.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "clap_lex-0.7.0", + srcs = [":clap_lex-0.7.0.crate"], crate = "clap_lex", - crate_root = "vendor/clap_lex-0.3.3/src/lib.rs", + crate_root = "clap_lex-0.7.0.crate/src/lib.rs", edition = "2021", - rustc_flags = ["--cap-lints=allow"], visibility = [], - deps = [":os_str_bytes-6.4.1"], ) alias( @@ -159,45 +127,46 @@ alias( visibility = ["PUBLIC"], ) -third_party_rust_library( +http_archive( + name = "codespan-reporting-0.11.1.crate", + sha256 = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e", + strip_prefix = "codespan-reporting-0.11.1", + urls = ["https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download"], + visibility = [], +) + +cargo.rust_library( name = "codespan-reporting-0.11.1", - srcs = [ - "vendor/codespan-reporting-0.11.1/src/diagnostic.rs", - "vendor/codespan-reporting-0.11.1/src/files.rs", - "vendor/codespan-reporting-0.11.1/src/lib.rs", - "vendor/codespan-reporting-0.11.1/src/term.rs", - "vendor/codespan-reporting-0.11.1/src/term/config.rs", - "vendor/codespan-reporting-0.11.1/src/term/renderer.rs", - "vendor/codespan-reporting-0.11.1/src/term/views.rs", - ], + srcs = [":codespan-reporting-0.11.1.crate"], crate = "codespan_reporting", - crate_root = "vendor/codespan-reporting-0.11.1/src/lib.rs", + crate_root = "codespan-reporting-0.11.1.crate/src/lib.rs", edition = "2018", - rustc_flags = ["--cap-lints=allow"], visibility = [], deps = [ - ":termcolor-1.2.0", - ":unicode-width-0.1.10", + ":termcolor-1.4.1", + ":unicode-width-0.1.11", ], ) alias( name = "once_cell", - actual = ":once_cell-1.17.1", + actual = ":once_cell-1.19.0", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "once_cell-1.17.1", - srcs = [ - "vendor/once_cell-1.17.1/src/imp_cs.rs", - "vendor/once_cell-1.17.1/src/imp_pl.rs", - "vendor/once_cell-1.17.1/src/imp_std.rs", - "vendor/once_cell-1.17.1/src/lib.rs", - "vendor/once_cell-1.17.1/src/race.rs", - ], +http_archive( + name = "once_cell-1.19.0.crate", + sha256 = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92", + strip_prefix = "once_cell-1.19.0", + urls = ["https://crates.io/api/v1/crates/once_cell/1.19.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "once_cell-1.19.0", + srcs = [":once_cell-1.19.0.crate"], crate = "once_cell", - crate_root = "vendor/once_cell-1.17.1/src/lib.rs", + crate_root = "once_cell-1.19.0.crate/src/lib.rs", edition = "2021", features = [ "alloc", @@ -205,241 +174,154 @@ third_party_rust_library( "race", "std", ], - rustc_flags = ["--cap-lints=allow"], - visibility = [], -) - -third_party_rust_library( - name = "os_str_bytes-6.4.1", - srcs = [ - "vendor/os_str_bytes-6.4.1/src/common/mod.rs", - "vendor/os_str_bytes-6.4.1/src/common/raw.rs", - "vendor/os_str_bytes-6.4.1/src/iter.rs", - "vendor/os_str_bytes-6.4.1/src/lib.rs", - "vendor/os_str_bytes-6.4.1/src/pattern.rs", - "vendor/os_str_bytes-6.4.1/src/raw_str.rs", - "vendor/os_str_bytes-6.4.1/src/util.rs", - "vendor/os_str_bytes-6.4.1/src/wasm/mod.rs", - "vendor/os_str_bytes-6.4.1/src/wasm/raw.rs", - "vendor/os_str_bytes-6.4.1/src/windows/mod.rs", - "vendor/os_str_bytes-6.4.1/src/windows/raw.rs", - "vendor/os_str_bytes-6.4.1/src/windows/wtf8/code_points.rs", - "vendor/os_str_bytes-6.4.1/src/windows/wtf8/convert.rs", - "vendor/os_str_bytes-6.4.1/src/windows/wtf8/mod.rs", - "vendor/os_str_bytes-6.4.1/src/windows/wtf8/string.rs", - ], - crate = "os_str_bytes", - crate_root = "vendor/os_str_bytes-6.4.1/src/lib.rs", - edition = "2021", - features = ["raw_os_str"], - rustc_flags = ["--cap-lints=allow"], visibility = [], ) alias( name = "proc-macro2", - actual = ":proc-macro2-1.0.52", + actual = ":proc-macro2-1.0.78", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "proc-macro2-1.0.52", - srcs = [ - "vendor/proc-macro2-1.0.52/src/detection.rs", - "vendor/proc-macro2-1.0.52/src/extra.rs", - "vendor/proc-macro2-1.0.52/src/fallback.rs", - "vendor/proc-macro2-1.0.52/src/lib.rs", - "vendor/proc-macro2-1.0.52/src/location.rs", - "vendor/proc-macro2-1.0.52/src/marker.rs", - "vendor/proc-macro2-1.0.52/src/parse.rs", - "vendor/proc-macro2-1.0.52/src/rcvec.rs", - "vendor/proc-macro2-1.0.52/src/wrapper.rs", - ], +http_archive( + name = "proc-macro2-1.0.78.crate", + sha256 = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae", + strip_prefix = "proc-macro2-1.0.78", + urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.78/download"], + visibility = [], +) + +cargo.rust_library( + name = "proc-macro2-1.0.78", + srcs = [":proc-macro2-1.0.78.crate"], crate = "proc_macro2", - crate_root = "vendor/proc-macro2-1.0.52/src/lib.rs", - edition = "2018", + crate_root = "proc-macro2-1.0.78.crate/src/lib.rs", + edition = "2021", features = [ "default", "proc-macro", "span-locations", ], - rustc_flags = [ - "--cap-lints=allow", - "@$(location :proc-macro2-1.0.52-build-script-build-args)", - ], + rustc_flags = ["@$(location :proc-macro2-1.0.78-build-script-run[rustc_flags])"], visibility = [], - deps = [":unicode-ident-1.0.8"], + deps = [":unicode-ident-1.0.12"], ) -rust_binary( - name = "proc-macro2-1.0.52-build-script-build", - srcs = ["vendor/proc-macro2-1.0.52/build.rs"], +cargo.rust_binary( + name = "proc-macro2-1.0.78-build-script-build", + srcs = [":proc-macro2-1.0.78.crate"], crate = "build_script_build", - crate_root = "vendor/proc-macro2-1.0.52/build.rs", - edition = "2018", + crate_root = "proc-macro2-1.0.78.crate/build.rs", + edition = "2021", features = [ "default", "proc-macro", "span-locations", ], - rustc_flags = ["--cap-lints=allow"], visibility = [], ) -buildscript_args( - name = "proc-macro2-1.0.52-build-script-build-args", +buildscript_run( + name = "proc-macro2-1.0.78-build-script-run", package_name = "proc-macro2", - buildscript_rule = ":proc-macro2-1.0.52-build-script-build", + buildscript_rule = ":proc-macro2-1.0.78-build-script-build", features = [ "default", "proc-macro", "span-locations", ], - outfile = "args.txt", - version = "1.0.52", + version = "1.0.78", ) alias( name = "quote", - actual = ":quote-1.0.26", + actual = ":quote-1.0.35", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "quote-1.0.26", - srcs = [ - "vendor/quote-1.0.26/src/ext.rs", - "vendor/quote-1.0.26/src/format.rs", - "vendor/quote-1.0.26/src/ident_fragment.rs", - "vendor/quote-1.0.26/src/lib.rs", - "vendor/quote-1.0.26/src/runtime.rs", - "vendor/quote-1.0.26/src/spanned.rs", - "vendor/quote-1.0.26/src/to_tokens.rs", - ], - crate = "quote", - crate_root = "vendor/quote-1.0.26/src/lib.rs", - edition = "2018", - features = [ - "default", - "proc-macro", - ], - rustc_flags = [ - "--cap-lints=allow", - "@$(location :quote-1.0.26-build-script-build-args)", - ], +http_archive( + name = "quote-1.0.35.crate", + sha256 = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef", + strip_prefix = "quote-1.0.35", + urls = ["https://crates.io/api/v1/crates/quote/1.0.35/download"], visibility = [], - deps = [":proc-macro2-1.0.52"], ) -rust_binary( - name = "quote-1.0.26-build-script-build", - srcs = ["vendor/quote-1.0.26/build.rs"], - crate = "build_script_build", - crate_root = "vendor/quote-1.0.26/build.rs", +cargo.rust_library( + name = "quote-1.0.35", + srcs = [":quote-1.0.35.crate"], + crate = "quote", + crate_root = "quote-1.0.35.crate/src/lib.rs", edition = "2018", features = [ "default", "proc-macro", ], - rustc_flags = ["--cap-lints=allow"], visibility = [], -) - -buildscript_args( - name = "quote-1.0.26-build-script-build-args", - package_name = "quote", - buildscript_rule = ":quote-1.0.26-build-script-build", - features = [ - "default", - "proc-macro", - ], - outfile = "args.txt", - version = "1.0.26", + deps = [":proc-macro2-1.0.78"], ) alias( name = "scratch", - actual = ":scratch-1.0.5", + actual = ":scratch-1.0.7", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "scratch-1.0.5", - srcs = ["vendor/scratch-1.0.5/src/lib.rs"], +http_archive( + name = "scratch-1.0.7.crate", + sha256 = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152", + strip_prefix = "scratch-1.0.7", + urls = ["https://crates.io/api/v1/crates/scratch/1.0.7/download"], + visibility = [], +) + +cargo.rust_library( + name = "scratch-1.0.7", + srcs = [":scratch-1.0.7.crate"], crate = "scratch", - crate_root = "vendor/scratch-1.0.5/src/lib.rs", + crate_root = "scratch-1.0.7.crate/src/lib.rs", edition = "2015", env = { - "OUT_DIR": "generated", + "OUT_DIR": "$(location :scratch-1.0.7-build-script-run[out_dir])", }, - rustc_flags = ["--cap-lints=allow"], visibility = [], ) +cargo.rust_binary( + name = "scratch-1.0.7-build-script-build", + srcs = [":scratch-1.0.7.crate"], + crate = "build_script_build", + crate_root = "scratch-1.0.7.crate/build.rs", + edition = "2015", + visibility = [], +) + +buildscript_run( + name = "scratch-1.0.7-build-script-run", + package_name = "scratch", + buildscript_rule = ":scratch-1.0.7-build-script-build", + version = "1.0.7", +) + alias( name = "syn", - actual = ":syn-2.0.1", + actual = ":syn-2.0.52", visibility = ["PUBLIC"], ) -third_party_rust_library( - name = "syn-2.0.1", - srcs = [ - "vendor/syn-2.0.1/src/attr.rs", - "vendor/syn-2.0.1/src/bigint.rs", - "vendor/syn-2.0.1/src/buffer.rs", - "vendor/syn-2.0.1/src/custom_keyword.rs", - "vendor/syn-2.0.1/src/custom_punctuation.rs", - "vendor/syn-2.0.1/src/data.rs", - "vendor/syn-2.0.1/src/derive.rs", - "vendor/syn-2.0.1/src/discouraged.rs", - "vendor/syn-2.0.1/src/drops.rs", - "vendor/syn-2.0.1/src/error.rs", - "vendor/syn-2.0.1/src/export.rs", - "vendor/syn-2.0.1/src/expr.rs", - "vendor/syn-2.0.1/src/ext.rs", - "vendor/syn-2.0.1/src/file.rs", - "vendor/syn-2.0.1/src/gen/clone.rs", - "vendor/syn-2.0.1/src/gen/debug.rs", - "vendor/syn-2.0.1/src/gen/eq.rs", - "vendor/syn-2.0.1/src/gen/fold.rs", - "vendor/syn-2.0.1/src/gen/hash.rs", - "vendor/syn-2.0.1/src/gen/visit.rs", - "vendor/syn-2.0.1/src/gen/visit_mut.rs", - "vendor/syn-2.0.1/src/gen_helper.rs", - "vendor/syn-2.0.1/src/generics.rs", - "vendor/syn-2.0.1/src/group.rs", - "vendor/syn-2.0.1/src/ident.rs", - "vendor/syn-2.0.1/src/item.rs", - "vendor/syn-2.0.1/src/lib.rs", - "vendor/syn-2.0.1/src/lifetime.rs", - "vendor/syn-2.0.1/src/lit.rs", - "vendor/syn-2.0.1/src/lookahead.rs", - "vendor/syn-2.0.1/src/mac.rs", - "vendor/syn-2.0.1/src/macros.rs", - "vendor/syn-2.0.1/src/meta.rs", - "vendor/syn-2.0.1/src/op.rs", - "vendor/syn-2.0.1/src/parse.rs", - "vendor/syn-2.0.1/src/parse_macro_input.rs", - "vendor/syn-2.0.1/src/parse_quote.rs", - "vendor/syn-2.0.1/src/pat.rs", - "vendor/syn-2.0.1/src/path.rs", - "vendor/syn-2.0.1/src/print.rs", - "vendor/syn-2.0.1/src/punctuated.rs", - "vendor/syn-2.0.1/src/restriction.rs", - "vendor/syn-2.0.1/src/sealed.rs", - "vendor/syn-2.0.1/src/span.rs", - "vendor/syn-2.0.1/src/spanned.rs", - "vendor/syn-2.0.1/src/stmt.rs", - "vendor/syn-2.0.1/src/thread.rs", - "vendor/syn-2.0.1/src/token.rs", - "vendor/syn-2.0.1/src/tt.rs", - "vendor/syn-2.0.1/src/ty.rs", - "vendor/syn-2.0.1/src/verbatim.rs", - "vendor/syn-2.0.1/src/whitespace.rs", - ], +http_archive( + name = "syn-2.0.52.crate", + sha256 = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07", + strip_prefix = "syn-2.0.52", + urls = ["https://crates.io/api/v1/crates/syn/2.0.52/download"], + visibility = [], +) + +cargo.rust_library( + name = "syn-2.0.52", + srcs = [":syn-2.0.52.crate"], crate = "syn", - crate_root = "vendor/syn-2.0.1/src/lib.rs", + crate_root = "syn-2.0.52.crate/src/lib.rs", edition = "2021", features = [ "clone-impls", @@ -451,49 +333,190 @@ third_party_rust_library( "proc-macro", "quote", ], - rustc_flags = ["--cap-lints=allow"], visibility = [], deps = [ - ":proc-macro2-1.0.52", - ":quote-1.0.26", - ":unicode-ident-1.0.8", + ":proc-macro2-1.0.78", + ":quote-1.0.35", + ":unicode-ident-1.0.12", ], ) -third_party_rust_library( - name = "termcolor-1.2.0", - srcs = ["vendor/termcolor-1.2.0/src/lib.rs"], +http_archive( + name = "termcolor-1.4.1.crate", + sha256 = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755", + strip_prefix = "termcolor-1.4.1", + urls = ["https://crates.io/api/v1/crates/termcolor/1.4.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "termcolor-1.4.1", + srcs = [":termcolor-1.4.1.crate"], crate = "termcolor", - crate_root = "vendor/termcolor-1.2.0/src/lib.rs", + crate_root = "termcolor-1.4.1.crate/src/lib.rs", edition = "2018", - rustc_flags = ["--cap-lints=allow"], + platform = { + "windows-gnu": dict( + deps = [":winapi-util-0.1.6"], + ), + "windows-msvc": dict( + deps = [":winapi-util-0.1.6"], + ), + }, visibility = [], ) -third_party_rust_library( - name = "unicode-ident-1.0.8", - srcs = [ - "vendor/unicode-ident-1.0.8/src/lib.rs", - "vendor/unicode-ident-1.0.8/src/tables.rs", - ], +http_archive( + name = "unicode-ident-1.0.12.crate", + sha256 = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b", + strip_prefix = "unicode-ident-1.0.12", + urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.12/download"], + visibility = [], +) + +cargo.rust_library( + name = "unicode-ident-1.0.12", + srcs = [":unicode-ident-1.0.12.crate"], crate = "unicode_ident", - crate_root = "vendor/unicode-ident-1.0.8/src/lib.rs", + crate_root = "unicode-ident-1.0.12.crate/src/lib.rs", edition = "2018", - rustc_flags = ["--cap-lints=allow"], visibility = [], ) -third_party_rust_library( - name = "unicode-width-0.1.10", - srcs = [ - "vendor/unicode-width-0.1.10/src/lib.rs", - "vendor/unicode-width-0.1.10/src/tables.rs", - "vendor/unicode-width-0.1.10/src/tests.rs", - ], +http_archive( + name = "unicode-width-0.1.11.crate", + sha256 = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85", + strip_prefix = "unicode-width-0.1.11", + urls = ["https://crates.io/api/v1/crates/unicode-width/0.1.11/download"], + visibility = [], +) + +cargo.rust_library( + name = "unicode-width-0.1.11", + srcs = [":unicode-width-0.1.11.crate"], crate = "unicode_width", - crate_root = "vendor/unicode-width-0.1.10/src/lib.rs", + crate_root = "unicode-width-0.1.11.crate/src/lib.rs", edition = "2015", features = ["default"], - rustc_flags = ["--cap-lints=allow"], + visibility = [], +) + +http_archive( + name = "winapi-0.3.9.crate", + sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + strip_prefix = "winapi-0.3.9", + urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "winapi-0.3.9", + srcs = [":winapi-0.3.9.crate"], + crate = "winapi", + crate_root = "winapi-0.3.9.crate/src/lib.rs", + edition = "2015", + features = [ + "consoleapi", + "errhandlingapi", + "fileapi", + "minwindef", + "processenv", + "std", + "sysinfoapi", + "winbase", + "wincon", + "winerror", + "winnt", + ], + platform = { + "windows-gnu": dict( + deps = [":winapi-x86_64-pc-windows-gnu-0.4.0"], + ), + }, + rustc_flags = ["@$(location :winapi-0.3.9-build-script-run[rustc_flags])"], + visibility = [], +) + +cargo.rust_binary( + name = "winapi-0.3.9-build-script-build", + srcs = [":winapi-0.3.9.crate"], + crate = "build_script_build", + crate_root = "winapi-0.3.9.crate/build.rs", + edition = "2015", + features = [ + "consoleapi", + "errhandlingapi", + "fileapi", + "minwindef", + "processenv", + "std", + "sysinfoapi", + "winbase", + "wincon", + "winerror", + "winnt", + ], + visibility = [], +) + +buildscript_run( + name = "winapi-0.3.9-build-script-run", + package_name = "winapi", + buildscript_rule = ":winapi-0.3.9-build-script-build", + features = [ + "consoleapi", + "errhandlingapi", + "fileapi", + "minwindef", + "processenv", + "std", + "sysinfoapi", + "winbase", + "wincon", + "winerror", + "winnt", + ], + version = "0.3.9", +) + +http_archive( + name = "winapi-util-0.1.6.crate", + sha256 = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596", + strip_prefix = "winapi-util-0.1.6", + urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "winapi-util-0.1.6", + srcs = [":winapi-util-0.1.6.crate"], + crate = "winapi_util", + crate_root = "winapi-util-0.1.6.crate/src/lib.rs", + edition = "2021", + platform = { + "windows-gnu": dict( + deps = [":winapi-0.3.9"], + ), + "windows-msvc": dict( + deps = [":winapi-0.3.9"], + ), + }, + visibility = [], +) + +http_archive( + name = "winapi-x86_64-pc-windows-gnu-0.4.0.crate", + sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", + urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "winapi-x86_64-pc-windows-gnu-0.4.0", + srcs = [":winapi-x86_64-pc-windows-gnu-0.4.0.crate"], + crate = "winapi_x86_64_pc_windows_gnu", + crate_root = "winapi-x86_64-pc-windows-gnu-0.4.0.crate/src/lib.rs", + edition = "2015", visibility = [], ) diff --git a/third-party/Cargo.lock b/third-party/Cargo.lock index fd14b818..0de7d7cf 100644 --- a/third-party/Cargo.lock +++ b/third-party/Cargo.lock @@ -3,37 +3,43 @@ version = 3 [[package]] -name = "bitflags" -version = "1.3.2" +name = "anstyle" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "cc" -version = "1.0.79" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" [[package]] name = "clap" -version = "4.1.10" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce38afc168d8665cfc75c7b1dd9672e50716a137f433f070991619744a67342a" +checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" dependencies = [ - "bitflags", - "clap_lex", + "clap_builder", ] [[package]] -name = "clap_lex" -version = "0.3.3" +name = "clap_builder" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646" +checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" dependencies = [ - "os_str_bytes", + "anstyle", + "clap_lex", ] [[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] name = "codespan-reporting" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -45,45 +51,39 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "os_str_bytes" -version = "6.4.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "proc-macro2" -version = "1.0.52" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.26" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] [[package]] name = "scratch" -version = "1.0.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "syn" -version = "2.0.1" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ee2415bee46ba26eac9cd8e52966995c46bf0e842b6304eb8fcf99826548ed" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -115,15 +115,15 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "winapi" @@ -143,9 +143,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] diff --git a/third-party/Cargo.toml b/third-party/Cargo.toml index 5a069811..2160b114 100644 --- a/third-party/Cargo.toml +++ b/third-party/Cargo.toml @@ -2,17 +2,18 @@ [package] name = "third-party" version = "0.0.0" +edition = "2021" publish = false [lib] path = "/dev/null" [dependencies] -cc = "1.0.49" +cc = "1.0.83" clap = { version = "4", default-features = false, features = ["error-context", "help", "std", "usage"] } codespan-reporting = "0.11.1" once_cell = "1.9" -proc-macro2 = { version = "1.0.39", features = ["span-locations"] } +proc-macro2 = { version = "1.0.58", features = ["span-locations"] } quote = "1.0.4" scratch = "1" syn = { version = "2.0.1", features = ["full"] } diff --git a/third-party/bazel/BUILD.anstyle-1.0.6.bazel b/third-party/bazel/BUILD.anstyle-1.0.6.bazel new file mode 100644 index 00000000..4297dc85 --- /dev/null +++ b/third-party/bazel/BUILD.anstyle-1.0.6.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstyle", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstyle", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.6", +) diff --git a/third-party/bazel/BUILD.bazel b/third-party/bazel/BUILD.bazel index d35ae840..a9ac0926 100644 --- a/third-party/bazel/BUILD.bazel +++ b/third-party/bazel/BUILD.bazel @@ -3,7 +3,7 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### package(default_visibility = ["//visibility:public"]) @@ -13,27 +13,33 @@ exports_files( "cargo-bazel.json", "crates.bzl", "defs.bzl", - ] + glob(["*.bazel"]), + ] + glob( + include = ["*.bazel"], + allow_empty = True, + ), ) filegroup( name = "srcs", - srcs = glob([ - "*.bazel", - "*.bzl", - ]), + srcs = glob( + include = [ + "*.bazel", + "*.bzl", + ], + allow_empty = True, + ), ) # Workspace Member Dependencies alias( name = "cc", - actual = "@vendor__cc-1.0.79//:cc", + actual = "@vendor__cc-1.0.89//:cc", tags = ["manual"], ) alias( name = "clap", - actual = "@vendor__clap-4.1.10//:clap", + actual = "@vendor__clap-4.5.1//:clap", tags = ["manual"], ) @@ -45,30 +51,30 @@ alias( alias( name = "once_cell", - actual = "@vendor__once_cell-1.17.1//:once_cell", + actual = "@vendor__once_cell-1.19.0//:once_cell", tags = ["manual"], ) alias( name = "proc-macro2", - actual = "@vendor__proc-macro2-1.0.52//:proc_macro2", + actual = "@vendor__proc-macro2-1.0.78//:proc_macro2", tags = ["manual"], ) alias( name = "quote", - actual = "@vendor__quote-1.0.26//:quote", + actual = "@vendor__quote-1.0.35//:quote", tags = ["manual"], ) alias( name = "scratch", - actual = "@vendor__scratch-1.0.5//:scratch", + actual = "@vendor__scratch-1.0.7//:scratch", tags = ["manual"], ) alias( name = "syn", - actual = "@vendor__syn-2.0.1//:syn", + actual = "@vendor__syn-2.0.52//:syn", tags = ["manual"], ) diff --git a/third-party/bazel/BUILD.bitflags-1.3.2.bazel b/third-party/bazel/BUILD.bitflags-1.3.2.bazel deleted file mode 100644 index 39360f23..00000000 --- a/third-party/bazel/BUILD.bitflags-1.3.2.bazel +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT/Apache-2.0 -# ]) - -rust_library( - name = "bitflags", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=bitflags", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.3.2", -) diff --git a/third-party/bazel/BUILD.cc-1.0.79.bazel b/third-party/bazel/BUILD.cc-1.0.79.bazel deleted file mode 100644 index 102bc5d1..00000000 --- a/third-party/bazel/BUILD.cc-1.0.79.bazel +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "cc", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=cc", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.79", -) diff --git a/third-party/bazel/BUILD.cc-1.0.89.bazel b/third-party/bazel/BUILD.cc-1.0.89.bazel new file mode 100644 index 00000000..98e2c88f --- /dev/null +++ b/third-party/bazel/BUILD.cc-1.0.89.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.89", +) diff --git a/third-party/bazel/BUILD.clap-4.1.10.bazel b/third-party/bazel/BUILD.clap-4.1.10.bazel deleted file mode 100644 index 7070273f..00000000 --- a/third-party/bazel/BUILD.clap-4.1.10.bazel +++ /dev/null @@ -1,51 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "clap", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "error-context", - "help", - "std", - "usage", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=clap", - "manual", - "noclippy", - "norustfmt", - ], - version = "4.1.10", - deps = [ - "@vendor__bitflags-1.3.2//:bitflags", - "@vendor__clap_lex-0.3.3//:clap_lex", - ], -) diff --git a/third-party/bazel/BUILD.clap-4.5.1.bazel b/third-party/bazel/BUILD.clap-4.5.1.bazel new file mode 100644 index 00000000..86ccdf27 --- /dev/null +++ b/third-party/bazel/BUILD.clap-4.5.1.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "error-context", + "help", + "std", + "usage", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.5.1", + deps = [ + "@vendor__clap_builder-4.5.1//:clap_builder", + ], +) diff --git a/third-party/bazel/BUILD.clap_builder-4.5.1.bazel b/third-party/bazel/BUILD.clap_builder-4.5.1.bazel new file mode 100644 index 00000000..8706d024 --- /dev/null +++ b/third-party/bazel/BUILD.clap_builder-4.5.1.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap_builder", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "error-context", + "help", + "std", + "usage", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap_builder", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.5.1", + deps = [ + "@vendor__anstyle-1.0.6//:anstyle", + "@vendor__clap_lex-0.7.0//:clap_lex", + ], +) diff --git a/third-party/bazel/BUILD.clap_lex-0.3.3.bazel b/third-party/bazel/BUILD.clap_lex-0.3.3.bazel deleted file mode 100644 index 60fe11b4..00000000 --- a/third-party/bazel/BUILD.clap_lex-0.3.3.bazel +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "clap_lex", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=clap_lex", - "manual", - "noclippy", - "norustfmt", - ], - version = "0.3.3", - deps = [ - "@vendor__os_str_bytes-6.4.1//:os_str_bytes", - ], -) diff --git a/third-party/bazel/BUILD.clap_lex-0.7.0.bazel b/third-party/bazel/BUILD.clap_lex-0.7.0.bazel new file mode 100644 index 00000000..30a3006e --- /dev/null +++ b/third-party/bazel/BUILD.clap_lex-0.7.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap_lex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap_lex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.0", +) diff --git a/third-party/bazel/BUILD.codespan-reporting-0.11.1.bazel b/third-party/bazel/BUILD.codespan-reporting-0.11.1.bazel index a75a1369..2db5b317 100644 --- a/third-party/bazel/BUILD.codespan-reporting-0.11.1.bazel +++ b/third-party/bazel/BUILD.codespan-reporting-0.11.1.bazel @@ -3,24 +3,25 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) -# licenses([ -# "TODO", # Apache-2.0 -# ]) - rust_library( name = "codespan_reporting", - srcs = glob(["**/*.rs"]), + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), compile_data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -29,7 +30,9 @@ rust_library( ), crate_root = "src/lib.rs", edition = "2018", - rustc_flags = ["--cap-lints=allow"], + rustc_flags = [ + "--cap-lints=allow", + ], tags = [ "cargo-bazel", "crate-name=codespan-reporting", @@ -37,9 +40,46 @@ rust_library( "noclippy", "norustfmt", ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), version = "0.11.1", deps = [ - "@vendor__termcolor-1.2.0//:termcolor", - "@vendor__unicode-width-0.1.10//:unicode_width", + "@vendor__termcolor-1.4.1//:termcolor", + "@vendor__unicode-width-0.1.11//:unicode_width", ], ) diff --git a/third-party/bazel/BUILD.once_cell-1.17.1.bazel b/third-party/bazel/BUILD.once_cell-1.17.1.bazel deleted file mode 100644 index 7132498a..00000000 --- a/third-party/bazel/BUILD.once_cell-1.17.1.bazel +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "once_cell", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "default", - "race", - "std", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=once_cell", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.17.1", -) diff --git a/third-party/bazel/BUILD.once_cell-1.19.0.bazel b/third-party/bazel/BUILD.once_cell-1.19.0.bazel new file mode 100644 index 00000000..d534c02e --- /dev/null +++ b/third-party/bazel/BUILD.once_cell-1.19.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "once_cell", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "race", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=once_cell", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.19.0", +) diff --git a/third-party/bazel/BUILD.os_str_bytes-6.4.1.bazel b/third-party/bazel/BUILD.os_str_bytes-6.4.1.bazel deleted file mode 100644 index 2510ac16..00000000 --- a/third-party/bazel/BUILD.os_str_bytes-6.4.1.bazel +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "os_str_bytes", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "raw_os_str", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=os_str_bytes", - "manual", - "noclippy", - "norustfmt", - ], - version = "6.4.1", -) diff --git a/third-party/bazel/BUILD.proc-macro2-1.0.52.bazel b/third-party/bazel/BUILD.proc-macro2-1.0.52.bazel deleted file mode 100644 index d93678a9..00000000 --- a/third-party/bazel/BUILD.proc-macro2-1.0.52.bazel +++ /dev/null @@ -1,92 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_build_script") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "proc_macro2", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "proc-macro", - "span-locations", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=proc-macro2", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.52", - deps = [ - "@vendor__proc-macro2-1.0.52//:build_script_build", - "@vendor__unicode-ident-1.0.8//:unicode_ident", - ], -) - -cargo_build_script( - name = "proc-macro2_build_script", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "proc-macro", - "span-locations", - ], - crate_name = "build_script_build", - crate_root = "build.rs", - data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=proc-macro2", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.52", - visibility = ["//visibility:private"], -) - -alias( - name = "build_script_build", - actual = "proc-macro2_build_script", - tags = ["manual"], -) diff --git a/third-party/bazel/BUILD.proc-macro2-1.0.78.bazel b/third-party/bazel/BUILD.proc-macro2-1.0.78.bazel new file mode 100644 index 00000000..697feaa9 --- /dev/null +++ b/third-party/bazel/BUILD.proc-macro2-1.0.78.bazel @@ -0,0 +1,137 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "proc_macro2", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + "span-locations", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.78", + deps = [ + "@vendor__proc-macro2-1.0.78//:build_script_build", + "@vendor__unicode-ident-1.0.12//:unicode_ident", + ], +) + +cargo_build_script( + name = "proc-macro2_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + crate_features = [ + "default", + "proc-macro", + "span-locations", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.78", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":proc-macro2_bs", + tags = ["manual"], +) diff --git a/third-party/bazel/BUILD.quote-1.0.26.bazel b/third-party/bazel/BUILD.quote-1.0.26.bazel deleted file mode 100644 index 9cb74311..00000000 --- a/third-party/bazel/BUILD.quote-1.0.26.bazel +++ /dev/null @@ -1,90 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_build_script") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "quote", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "proc-macro", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=quote", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.26", - deps = [ - "@vendor__proc-macro2-1.0.52//:proc_macro2", - "@vendor__quote-1.0.26//:build_script_build", - ], -) - -cargo_build_script( - name = "quote_build_script", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "proc-macro", - ], - crate_name = "build_script_build", - crate_root = "build.rs", - data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=quote", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.26", - visibility = ["//visibility:private"], -) - -alias( - name = "build_script_build", - actual = "quote_build_script", - tags = ["manual"], -) diff --git a/third-party/bazel/BUILD.quote-1.0.35.bazel b/third-party/bazel/BUILD.quote-1.0.35.bazel new file mode 100644 index 00000000..bcf1e9cf --- /dev/null +++ b/third-party/bazel/BUILD.quote-1.0.35.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "quote", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=quote", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.35", + deps = [ + "@vendor__proc-macro2-1.0.78//:proc_macro2", + ], +) diff --git a/third-party/bazel/BUILD.scratch-1.0.5.bazel b/third-party/bazel/BUILD.scratch-1.0.5.bazel deleted file mode 100644 index ae28c649..00000000 --- a/third-party/bazel/BUILD.scratch-1.0.5.bazel +++ /dev/null @@ -1,81 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_build_script") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "scratch", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2015", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=scratch", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.5", - deps = [ - "@vendor__scratch-1.0.5//:build_script_build", - ], -) - -cargo_build_script( - name = "scratch_build_script", - srcs = glob(["**/*.rs"]), - crate_name = "build_script_build", - crate_root = "build.rs", - data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=scratch", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.5", - visibility = ["//visibility:private"], -) - -alias( - name = "build_script_build", - actual = "scratch_build_script", - tags = ["manual"], -) diff --git a/third-party/bazel/BUILD.scratch-1.0.7.bazel b/third-party/bazel/BUILD.scratch-1.0.7.bazel new file mode 100644 index 00000000..c4ecfa57 --- /dev/null +++ b/third-party/bazel/BUILD.scratch-1.0.7.bazel @@ -0,0 +1,126 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "scratch", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=scratch", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.7", + deps = [ + "@vendor__scratch-1.0.7//:build_script_build", + ], +) + +cargo_build_script( + name = "scratch_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=scratch", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.7", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":scratch_bs", + tags = ["manual"], +) diff --git a/third-party/bazel/BUILD.syn-2.0.1.bazel b/third-party/bazel/BUILD.syn-2.0.1.bazel deleted file mode 100644 index 42cdf318..00000000 --- a/third-party/bazel/BUILD.syn-2.0.1.bazel +++ /dev/null @@ -1,56 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT OR Apache-2.0 -# ]) - -rust_library( - name = "syn", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "clone-impls", - "default", - "derive", - "full", - "parsing", - "printing", - "proc-macro", - "quote", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=syn", - "manual", - "noclippy", - "norustfmt", - ], - version = "2.0.1", - deps = [ - "@vendor__proc-macro2-1.0.52//:proc_macro2", - "@vendor__quote-1.0.26//:quote", - "@vendor__unicode-ident-1.0.8//:unicode_ident", - ], -) diff --git a/third-party/bazel/BUILD.syn-2.0.52.bazel b/third-party/bazel/BUILD.syn-2.0.52.bazel new file mode 100644 index 00000000..5ceb93d2 --- /dev/null +++ b/third-party/bazel/BUILD.syn-2.0.52.bazel @@ -0,0 +1,96 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "syn", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "clone-impls", + "default", + "derive", + "full", + "parsing", + "printing", + "proc-macro", + "quote", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=syn", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.52", + deps = [ + "@vendor__proc-macro2-1.0.78//:proc_macro2", + "@vendor__quote-1.0.35//:quote", + "@vendor__unicode-ident-1.0.12//:unicode_ident", + ], +) diff --git a/third-party/bazel/BUILD.termcolor-1.2.0.bazel b/third-party/bazel/BUILD.termcolor-1.2.0.bazel deleted file mode 100644 index fa7481ea..00000000 --- a/third-party/bazel/BUILD.termcolor-1.2.0.bazel +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # Unlicense OR MIT -# ]) - -rust_library( - name = "termcolor", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=termcolor", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.2.0", - deps = select({ - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor__winapi-util-0.1.5//:winapi_util", # cfg(windows) - ], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor__winapi-util-0.1.5//:winapi_util", # cfg(windows) - ], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor__winapi-util-0.1.5//:winapi_util", # cfg(windows) - ], - "//conditions:default": [], - }), -) diff --git a/third-party/bazel/BUILD.termcolor-1.4.1.bazel b/third-party/bazel/BUILD.termcolor-1.4.1.bazel new file mode 100644 index 00000000..100fb7ee --- /dev/null +++ b/third-party/bazel/BUILD.termcolor-1.4.1.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "termcolor", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=termcolor", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.4.1", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.6//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.6//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.6//:winapi_util", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/third-party/bazel/BUILD.unicode-ident-1.0.12.bazel b/third-party/bazel/BUILD.unicode-ident-1.0.12.bazel new file mode 100644 index 00000000..e29b1725 --- /dev/null +++ b/third-party/bazel/BUILD.unicode-ident-1.0.12.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_ident", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-ident", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.12", +) diff --git a/third-party/bazel/BUILD.unicode-ident-1.0.8.bazel b/third-party/bazel/BUILD.unicode-ident-1.0.8.bazel deleted file mode 100644 index c831cece..00000000 --- a/third-party/bazel/BUILD.unicode-ident-1.0.8.bazel +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # (MIT OR Apache-2.0) AND Unicode-DFS-2016 -# ]) - -rust_library( - name = "unicode_ident", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=unicode-ident", - "manual", - "noclippy", - "norustfmt", - ], - version = "1.0.8", -) diff --git a/third-party/bazel/BUILD.unicode-width-0.1.10.bazel b/third-party/bazel/BUILD.unicode-width-0.1.10.bazel deleted file mode 100644 index 103a2036..00000000 --- a/third-party/bazel/BUILD.unicode-width-0.1.10.bazel +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # MIT/Apache-2.0 -# ]) - -rust_library( - name = "unicode_width", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - edition = "2015", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=unicode-width", - "manual", - "noclippy", - "norustfmt", - ], - version = "0.1.10", -) diff --git a/third-party/bazel/BUILD.unicode-width-0.1.11.bazel b/third-party/bazel/BUILD.unicode-width-0.1.11.bazel new file mode 100644 index 00000000..20d9be3b --- /dev/null +++ b/third-party/bazel/BUILD.unicode-width-0.1.11.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_width", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-width", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.11", +) diff --git a/third-party/bazel/BUILD.winapi-0.3.9.bazel b/third-party/bazel/BUILD.winapi-0.3.9.bazel index 7af60b17..b7181ef3 100644 --- a/third-party/bazel/BUILD.winapi-0.3.9.bazel +++ b/third-party/bazel/BUILD.winapi-0.3.9.bazel @@ -3,7 +3,7 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### load("@rules_rust//cargo:defs.bzl", "cargo_build_script") @@ -11,17 +11,18 @@ load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) -# licenses([ -# "TODO", # MIT/Apache-2.0 -# ]) - rust_library( name = "winapi", - srcs = glob(["**/*.rs"]), + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), compile_data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -35,6 +36,7 @@ rust_library( "minwindef", "processenv", "std", + "sysinfoapi", "winbase", "wincon", "winerror", @@ -42,7 +44,9 @@ rust_library( ], crate_root = "src/lib.rs", edition = "2015", - rustc_flags = ["--cap-lints=allow"], + rustc_flags = [ + "--cap-lints=allow", + ], tags = [ "cargo-bazel", "crate-name=winapi", @@ -50,6 +54,43 @@ rust_library( "noclippy", "norustfmt", ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), version = "0.3.9", deps = [ "@vendor__winapi-0.3.9//:build_script_build", @@ -57,8 +98,11 @@ rust_library( ) cargo_build_script( - name = "winapi_build_script", - srcs = glob(["**/*.rs"]), + name = "winapi_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), crate_features = [ "consoleapi", "errhandlingapi", @@ -66,6 +110,7 @@ cargo_build_script( "minwindef", "processenv", "std", + "sysinfoapi", "winbase", "wincon", "winerror", @@ -75,8 +120,10 @@ cargo_build_script( crate_root = "build.rs", data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -100,6 +147,6 @@ cargo_build_script( alias( name = "build_script_build", - actual = "winapi_build_script", + actual = ":winapi_bs", tags = ["manual"], ) diff --git a/third-party/bazel/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/third-party/bazel/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel index ae3de314..2e3a99ae 100644 --- a/third-party/bazel/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel +++ b/third-party/bazel/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel @@ -3,7 +3,7 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### load("@rules_rust//cargo:defs.bzl", "cargo_build_script") @@ -11,17 +11,18 @@ load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) -# licenses([ -# "TODO", # MIT/Apache-2.0 -# ]) - rust_library( name = "winapi_i686_pc_windows_gnu", - srcs = glob(["**/*.rs"]), + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), compile_data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -30,7 +31,9 @@ rust_library( ), crate_root = "src/lib.rs", edition = "2015", - rustc_flags = ["--cap-lints=allow"], + rustc_flags = [ + "--cap-lints=allow", + ], tags = [ "cargo-bazel", "crate-name=winapi-i686-pc-windows-gnu", @@ -38,6 +41,43 @@ rust_library( "noclippy", "norustfmt", ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), version = "0.4.0", deps = [ "@vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build", @@ -45,14 +85,19 @@ rust_library( ) cargo_build_script( - name = "winapi-i686-pc-windows-gnu_build_script", - srcs = glob(["**/*.rs"]), + name = "winapi-i686-pc-windows-gnu_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), crate_name = "build_script_build", crate_root = "build.rs", data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -76,6 +121,6 @@ cargo_build_script( alias( name = "build_script_build", - actual = "winapi-i686-pc-windows-gnu_build_script", + actual = ":winapi-i686-pc-windows-gnu_bs", tags = ["manual"], ) diff --git a/third-party/bazel/BUILD.winapi-util-0.1.5.bazel b/third-party/bazel/BUILD.winapi-util-0.1.5.bazel deleted file mode 100644 index 6ca7e9a7..00000000 --- a/third-party/bazel/BUILD.winapi-util-0.1.5.bazel +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @//third-party:vendor -############################################################################### - -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -# licenses([ -# "TODO", # Unlicense/MIT -# ]) - -rust_library( - name = "winapi_util", - srcs = glob(["**/*.rs"]), - compile_data = glob( - include = ["**"], - exclude = [ - "**/* *", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - rustc_flags = ["--cap-lints=allow"], - tags = [ - "cargo-bazel", - "crate-name=winapi-util", - "manual", - "noclippy", - "norustfmt", - ], - version = "0.1.5", - deps = select({ - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor__winapi-0.3.9//:winapi", # cfg(windows) - ], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor__winapi-0.3.9//:winapi", # cfg(windows) - ], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor__winapi-0.3.9//:winapi", # cfg(windows) - ], - "//conditions:default": [], - }), -) diff --git a/third-party/bazel/BUILD.winapi-util-0.1.6.bazel b/third-party/bazel/BUILD.winapi-util-0.1.6.bazel new file mode 100644 index 00000000..ed519474 --- /dev/null +++ b/third-party/bazel/BUILD.winapi-util-0.1.6.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//third-party:vendor +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_util", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-util", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.6", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/third-party/bazel/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/third-party/bazel/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel index c145846b..cabae837 100644 --- a/third-party/bazel/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel +++ b/third-party/bazel/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel @@ -3,7 +3,7 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### load("@rules_rust//cargo:defs.bzl", "cargo_build_script") @@ -11,17 +11,18 @@ load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) -# licenses([ -# "TODO", # MIT/Apache-2.0 -# ]) - rust_library( name = "winapi_x86_64_pc_windows_gnu", - srcs = glob(["**/*.rs"]), + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), compile_data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -30,7 +31,9 @@ rust_library( ), crate_root = "src/lib.rs", edition = "2015", - rustc_flags = ["--cap-lints=allow"], + rustc_flags = [ + "--cap-lints=allow", + ], tags = [ "cargo-bazel", "crate-name=winapi-x86_64-pc-windows-gnu", @@ -38,6 +41,43 @@ rust_library( "noclippy", "norustfmt", ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), version = "0.4.0", deps = [ "@vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build", @@ -45,14 +85,19 @@ rust_library( ) cargo_build_script( - name = "winapi-x86_64-pc-windows-gnu_build_script", - srcs = glob(["**/*.rs"]), + name = "winapi-x86_64-pc-windows-gnu_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = False, + ), crate_name = "build_script_build", crate_root = "build.rs", data = glob( include = ["**"], + allow_empty = True, exclude = [ "**/* *", + ".tmp_git_root/**/*", "BUILD", "BUILD.bazel", "WORKSPACE", @@ -76,6 +121,6 @@ cargo_build_script( alias( name = "build_script_build", - actual = "winapi-x86_64-pc-windows-gnu_build_script", + actual = ":winapi-x86_64-pc-windows-gnu_bs", tags = ["manual"], ) diff --git a/third-party/bazel/alias_rules.bzl b/third-party/bazel/alias_rules.bzl new file mode 100644 index 00000000..14b04c12 --- /dev/null +++ b/third-party/bazel/alias_rules.bzl @@ -0,0 +1,47 @@ +"""Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias="opt"` to enable.""" + +load("@rules_cc//cc:defs.bzl", "CcInfo") +load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS") + +def _transition_alias_impl(ctx): + # `ctx.attr.actual` is a list of 1 item due to the transition + providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS] + if CcInfo in ctx.attr.actual[0]: + providers.append(ctx.attr.actual[0][CcInfo]) + return providers + +def _change_compilation_mode(compilation_mode): + def _change_compilation_mode_impl(_settings, _attr): + return { + "//command_line_option:compilation_mode": compilation_mode, + } + + return transition( + implementation = _change_compilation_mode_impl, + inputs = [], + outputs = [ + "//command_line_option:compilation_mode", + ], + ) + +def _transition_alias_rule(compilation_mode): + return rule( + implementation = _transition_alias_impl, + provides = COMMON_PROVIDERS, + attrs = { + "actual": attr.label( + mandatory = True, + doc = "`rust_library()` target to transition to `compilation_mode=opt`.", + providers = COMMON_PROVIDERS, + cfg = _change_compilation_mode(compilation_mode), + ), + "_allowlist_function_transition": attr.label( + default = "@bazel_tools//tools/allowlists/function_transition_allowlist", + ), + }, + doc = "Transitions a Rust library crate to the `compilation_mode=opt`.", + ) + +transition_alias_dbg = _transition_alias_rule("dbg") +transition_alias_fastbuild = _transition_alias_rule("fastbuild") +transition_alias_opt = _transition_alias_rule("opt") diff --git a/third-party/bazel/crates.bzl b/third-party/bazel/crates.bzl index 6d61f64a..5a9aa8f4 100644 --- a/third-party/bazel/crates.bzl +++ b/third-party/bazel/crates.bzl @@ -6,20 +6,26 @@ ############################################################################### """Rules for defining repositories for remote `crates_vendor` repositories""" -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") - # buildifier: disable=bzl-visibility -load("@cxx.rs//third-party/bazel:defs.bzl", _crate_repositories = "crate_repositories") +load("@//third-party/bazel:defs.bzl", _crate_repositories = "crate_repositories") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") # buildifier: disable=bzl-visibility load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository") def crate_repositories(): + """Generates repositories for vendored crates. + + Returns: + A list of repos visible to the module through the module extension. + """ maybe( crates_vendor_remote_repository, name = "vendor", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.bazel"), - defs_module = Label("@cxx.rs//third-party/bazel:defs.bzl"), + build_file = Label("@//third-party/bazel:BUILD.bazel"), + defs_module = Label("@//third-party/bazel:defs.bzl"), ) - _crate_repositories() + direct_deps = [struct(repo = "vendor", is_dev_dep = False)] + direct_deps.extend(_crate_repositories()) + return direct_deps diff --git a/third-party/bazel/defs.bzl b/third-party/bazel/defs.bzl index e799b0e9..af82f20d 100644 --- a/third-party/bazel/defs.bzl +++ b/third-party/bazel/defs.bzl @@ -3,7 +3,7 @@ # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To # regenerate this file, run the following: # -# bazel run @//third-party:vendor +# bazel run @@//third-party:vendor ############################################################################### """ # `crates_repository` API @@ -37,7 +37,7 @@ def _flatten_dependency_maps(all_dependency_maps): # name of the workspace this file is defined in. "workspace_member_package": { - # Not all dependnecies are supported for all platforms. + # Not all dependencies are supported for all platforms. # the condition key is the condition required to be true # on the host platform. "condition": { @@ -202,7 +202,10 @@ def all_crate_deps( crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values()) for condition, deps in dependencies.items(): - crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()}) + crate_deps += selects.with_or({ + tuple(_CONDITIONS[condition]): deps.values(), + "//conditions:default": [], + }) return crate_deps @@ -274,15 +277,16 @@ def aliases( # Build a single select statement where each conditional has accounted for the # common set of aliases. - crate_aliases = {"//conditions:default": common_items} + crate_aliases = {"//conditions:default": dict(common_items)} for condition, deps in aliases.items(): condition_triples = _CONDITIONS[condition] - if condition_triples in crate_aliases: - crate_aliases[condition_triples].update(deps) - else: - crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)}) + for triple in condition_triples: + if triple in crate_aliases: + crate_aliases[triple].update(deps) + else: + crate_aliases.update({triple: dict(deps.items() + common_items)}) - return selects.with_or(crate_aliases) + return select(crate_aliases) ############################################################################### # WORKSPACE MEMBER DEPS AND ALIASES @@ -291,14 +295,14 @@ def aliases( _NORMAL_DEPENDENCIES = { "third-party": { _COMMON_CONDITION: { - "cc": "@vendor__cc-1.0.79//:cc", - "clap": "@vendor__clap-4.1.10//:clap", - "codespan-reporting": "@vendor__codespan-reporting-0.11.1//:codespan_reporting", - "once_cell": "@vendor__once_cell-1.17.1//:once_cell", - "proc-macro2": "@vendor__proc-macro2-1.0.52//:proc_macro2", - "quote": "@vendor__quote-1.0.26//:quote", - "scratch": "@vendor__scratch-1.0.5//:scratch", - "syn": "@vendor__syn-2.0.1//:syn", + "cc": Label("@vendor__cc-1.0.89//:cc"), + "clap": Label("@vendor__clap-4.5.1//:clap"), + "codespan-reporting": Label("@vendor__codespan-reporting-0.11.1//:codespan_reporting"), + "once_cell": Label("@vendor__once_cell-1.19.0//:once_cell"), + "proc-macro2": Label("@vendor__proc-macro2-1.0.78//:proc_macro2"), + "quote": Label("@vendor__quote-1.0.35//:quote"), + "scratch": Label("@vendor__scratch-1.0.7//:scratch"), + "syn": Label("@vendor__syn-2.0.52//:syn"), }, }, } @@ -361,153 +365,191 @@ _BUILD_PROC_MACRO_ALIASES = { } _CONDITIONS = { - "cfg(windows)": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"], + "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"], + "aarch64-apple-ios": ["@rules_rust//rust/platform:aarch64-apple-ios"], + "aarch64-apple-ios-sim": ["@rules_rust//rust/platform:aarch64-apple-ios-sim"], + "aarch64-fuchsia": ["@rules_rust//rust/platform:aarch64-fuchsia"], + "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"], + "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"], + "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"], + "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"], + "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"], + "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"], + "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"], + "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"], + "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"], "i686-pc-windows-gnu": [], + "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"], + "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"], + "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], + "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"], + "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"], + "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"], + "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"], + "thumbv7em-none-eabi": ["@rules_rust//rust/platform:thumbv7em-none-eabi"], + "thumbv8m.main-none-eabi": ["@rules_rust//rust/platform:thumbv8m.main-none-eabi"], + "wasm32-unknown-unknown": ["@rules_rust//rust/platform:wasm32-unknown-unknown"], + "wasm32-wasi": ["@rules_rust//rust/platform:wasm32-wasi"], + "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"], + "x86_64-apple-ios": ["@rules_rust//rust/platform:x86_64-apple-ios"], + "x86_64-fuchsia": ["@rules_rust//rust/platform:x86_64-fuchsia"], + "x86_64-linux-android": ["@rules_rust//rust/platform:x86_64-linux-android"], "x86_64-pc-windows-gnu": [], + "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"], + "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"], + "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"], } ############################################################################### def crate_repositories(): - """A macro for defining repositories for all generated crates""" + """A macro for defining repositories for all generated crates. + + Returns: + A list of repos visible to the module through the module extension. + """ maybe( http_archive, - name = "vendor__bitflags-1.3.2", - sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + name = "vendor__anstyle-1.0.6", + sha256 = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"], - strip_prefix = "bitflags-1.3.2", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.bitflags-1.3.2.bazel"), + urls = ["https://crates.io/api/v1/crates/anstyle/1.0.6/download"], + strip_prefix = "anstyle-1.0.6", + build_file = Label("@//third-party/bazel:BUILD.anstyle-1.0.6.bazel"), ) maybe( http_archive, - name = "vendor__cc-1.0.79", - sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f", + name = "vendor__cc-1.0.89", + sha256 = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/cc/1.0.79/download"], - strip_prefix = "cc-1.0.79", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.cc-1.0.79.bazel"), + urls = ["https://crates.io/api/v1/crates/cc/1.0.89/download"], + strip_prefix = "cc-1.0.89", + build_file = Label("@//third-party/bazel:BUILD.cc-1.0.89.bazel"), ) maybe( http_archive, - name = "vendor__clap-4.1.10", - sha256 = "ce38afc168d8665cfc75c7b1dd9672e50716a137f433f070991619744a67342a", + name = "vendor__clap-4.5.1", + sha256 = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/clap/4.1.10/download"], - strip_prefix = "clap-4.1.10", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.clap-4.1.10.bazel"), + urls = ["https://crates.io/api/v1/crates/clap/4.5.1/download"], + strip_prefix = "clap-4.5.1", + build_file = Label("@//third-party/bazel:BUILD.clap-4.5.1.bazel"), ) maybe( http_archive, - name = "vendor__clap_lex-0.3.3", - sha256 = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646", + name = "vendor__clap_builder-4.5.1", + sha256 = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/clap_lex/0.3.3/download"], - strip_prefix = "clap_lex-0.3.3", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.clap_lex-0.3.3.bazel"), + urls = ["https://crates.io/api/v1/crates/clap_builder/4.5.1/download"], + strip_prefix = "clap_builder-4.5.1", + build_file = Label("@//third-party/bazel:BUILD.clap_builder-4.5.1.bazel"), ) maybe( http_archive, - name = "vendor__codespan-reporting-0.11.1", - sha256 = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e", + name = "vendor__clap_lex-0.7.0", + sha256 = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download"], - strip_prefix = "codespan-reporting-0.11.1", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.codespan-reporting-0.11.1.bazel"), + urls = ["https://crates.io/api/v1/crates/clap_lex/0.7.0/download"], + strip_prefix = "clap_lex-0.7.0", + build_file = Label("@//third-party/bazel:BUILD.clap_lex-0.7.0.bazel"), ) maybe( http_archive, - name = "vendor__once_cell-1.17.1", - sha256 = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3", + name = "vendor__codespan-reporting-0.11.1", + sha256 = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/once_cell/1.17.1/download"], - strip_prefix = "once_cell-1.17.1", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.once_cell-1.17.1.bazel"), + urls = ["https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download"], + strip_prefix = "codespan-reporting-0.11.1", + build_file = Label("@//third-party/bazel:BUILD.codespan-reporting-0.11.1.bazel"), ) maybe( http_archive, - name = "vendor__os_str_bytes-6.4.1", - sha256 = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee", + name = "vendor__once_cell-1.19.0", + sha256 = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.4.1/download"], - strip_prefix = "os_str_bytes-6.4.1", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.os_str_bytes-6.4.1.bazel"), + urls = ["https://crates.io/api/v1/crates/once_cell/1.19.0/download"], + strip_prefix = "once_cell-1.19.0", + build_file = Label("@//third-party/bazel:BUILD.once_cell-1.19.0.bazel"), ) maybe( http_archive, - name = "vendor__proc-macro2-1.0.52", - sha256 = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224", + name = "vendor__proc-macro2-1.0.78", + sha256 = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.52/download"], - strip_prefix = "proc-macro2-1.0.52", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.proc-macro2-1.0.52.bazel"), + urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.78/download"], + strip_prefix = "proc-macro2-1.0.78", + build_file = Label("@//third-party/bazel:BUILD.proc-macro2-1.0.78.bazel"), ) maybe( http_archive, - name = "vendor__quote-1.0.26", - sha256 = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc", + name = "vendor__quote-1.0.35", + sha256 = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/quote/1.0.26/download"], - strip_prefix = "quote-1.0.26", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.quote-1.0.26.bazel"), + urls = ["https://crates.io/api/v1/crates/quote/1.0.35/download"], + strip_prefix = "quote-1.0.35", + build_file = Label("@//third-party/bazel:BUILD.quote-1.0.35.bazel"), ) maybe( http_archive, - name = "vendor__scratch-1.0.5", - sha256 = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1", + name = "vendor__scratch-1.0.7", + sha256 = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/scratch/1.0.5/download"], - strip_prefix = "scratch-1.0.5", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.scratch-1.0.5.bazel"), + urls = ["https://crates.io/api/v1/crates/scratch/1.0.7/download"], + strip_prefix = "scratch-1.0.7", + build_file = Label("@//third-party/bazel:BUILD.scratch-1.0.7.bazel"), ) maybe( http_archive, - name = "vendor__syn-2.0.1", - sha256 = "55ee2415bee46ba26eac9cd8e52966995c46bf0e842b6304eb8fcf99826548ed", + name = "vendor__syn-2.0.52", + sha256 = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/syn/2.0.1/download"], - strip_prefix = "syn-2.0.1", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.syn-2.0.1.bazel"), + urls = ["https://crates.io/api/v1/crates/syn/2.0.52/download"], + strip_prefix = "syn-2.0.52", + build_file = Label("@//third-party/bazel:BUILD.syn-2.0.52.bazel"), ) maybe( http_archive, - name = "vendor__termcolor-1.2.0", - sha256 = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6", + name = "vendor__termcolor-1.4.1", + sha256 = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/termcolor/1.2.0/download"], - strip_prefix = "termcolor-1.2.0", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.termcolor-1.2.0.bazel"), + urls = ["https://crates.io/api/v1/crates/termcolor/1.4.1/download"], + strip_prefix = "termcolor-1.4.1", + build_file = Label("@//third-party/bazel:BUILD.termcolor-1.4.1.bazel"), ) maybe( http_archive, - name = "vendor__unicode-ident-1.0.8", - sha256 = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4", + name = "vendor__unicode-ident-1.0.12", + sha256 = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.8/download"], - strip_prefix = "unicode-ident-1.0.8", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.unicode-ident-1.0.8.bazel"), + urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.12/download"], + strip_prefix = "unicode-ident-1.0.12", + build_file = Label("@//third-party/bazel:BUILD.unicode-ident-1.0.12.bazel"), ) maybe( http_archive, - name = "vendor__unicode-width-0.1.10", - sha256 = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b", + name = "vendor__unicode-width-0.1.11", + sha256 = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/unicode-width/0.1.10/download"], - strip_prefix = "unicode-width-0.1.10", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.unicode-width-0.1.10.bazel"), + urls = ["https://crates.io/api/v1/crates/unicode-width/0.1.11/download"], + strip_prefix = "unicode-width-0.1.11", + build_file = Label("@//third-party/bazel:BUILD.unicode-width-0.1.11.bazel"), ) maybe( @@ -517,7 +559,7 @@ def crate_repositories(): type = "tar.gz", urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"], strip_prefix = "winapi-0.3.9", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.winapi-0.3.9.bazel"), + build_file = Label("@//third-party/bazel:BUILD.winapi-0.3.9.bazel"), ) maybe( @@ -527,17 +569,17 @@ def crate_repositories(): type = "tar.gz", urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"], strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"), + build_file = Label("@//third-party/bazel:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"), ) maybe( http_archive, - name = "vendor__winapi-util-0.1.5", - sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", + name = "vendor__winapi-util-0.1.6", + sha256 = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596", type = "tar.gz", - urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.5/download"], - strip_prefix = "winapi-util-0.1.5", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.winapi-util-0.1.5.bazel"), + urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.6/download"], + strip_prefix = "winapi-util-0.1.6", + build_file = Label("@//third-party/bazel:BUILD.winapi-util-0.1.6.bazel"), ) maybe( @@ -547,5 +589,16 @@ def crate_repositories(): type = "tar.gz", urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"], strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", - build_file = Label("@cxx.rs//third-party/bazel:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"), + build_file = Label("@//third-party/bazel:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"), ) + + return [ + struct(repo = "vendor__cc-1.0.89", is_dev_dep = False), + struct(repo = "vendor__clap-4.5.1", is_dev_dep = False), + struct(repo = "vendor__codespan-reporting-0.11.1", is_dev_dep = False), + struct(repo = "vendor__once_cell-1.19.0", is_dev_dep = False), + struct(repo = "vendor__proc-macro2-1.0.78", is_dev_dep = False), + struct(repo = "vendor__quote-1.0.35", is_dev_dep = False), + struct(repo = "vendor__scratch-1.0.7", is_dev_dep = False), + struct(repo = "vendor__syn-2.0.52", is_dev_dep = False), + ] diff --git a/third-party/fixups/cc/fixups.toml b/third-party/fixups/cc/fixups.toml deleted file mode 100644 index e148831c..00000000 --- a/third-party/fixups/cc/fixups.toml +++ /dev/null @@ -1 +0,0 @@ -omit_targets = ["gcc-shim"] diff --git a/third-party/fixups/clap/fixups.toml b/third-party/fixups/clap/fixups.toml index 36ad30f5..a8426118 100644 --- a/third-party/fixups/clap/fixups.toml +++ b/third-party/fixups/clap/fixups.toml @@ -1,2 +1 @@ extra_srcs = ["examples/demo.md", "examples/demo.rs"] -omit_targets = ["stdio-fixture"] diff --git a/third-party/fixups/clap_builder/fixups.toml b/third-party/fixups/clap_builder/fixups.toml new file mode 100644 index 00000000..edd9a207 --- /dev/null +++ b/third-party/fixups/clap_builder/fixups.toml @@ -0,0 +1 @@ +extra_srcs = ["README.md"] diff --git a/third-party/fixups/quote/fixups.toml b/third-party/fixups/libc/fixups.toml index 5e026f75..5e026f75 100644 --- a/third-party/fixups/quote/fixups.toml +++ b/third-party/fixups/libc/fixups.toml diff --git a/third-party/fixups/scratch/fixups.toml b/third-party/fixups/scratch/fixups.toml index 72f4bdd0..ac9ebfb4 100644 --- a/third-party/fixups/scratch/fixups.toml +++ b/third-party/fixups/scratch/fixups.toml @@ -1,4 +1,2 @@ -buildscript = [] - -[env] -OUT_DIR = "generated" +[[buildscript]] +[buildscript.gen_srcs] diff --git a/third-party/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml b/third-party/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml new file mode 100644 index 00000000..db40d72c --- /dev/null +++ b/third-party/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/fixups/syn/fixups.toml b/third-party/fixups/winapi/fixups.toml index 5e026f75..5e026f75 100644 --- a/third-party/fixups/syn/fixups.toml +++ b/third-party/fixups/winapi/fixups.toml diff --git a/third-party/reindeer.toml b/third-party/reindeer.toml deleted file mode 100644 index a7daf6e0..00000000 --- a/third-party/reindeer.toml +++ /dev/null @@ -1,15 +0,0 @@ -precise_srcs = true -rustc_flags = ["--cap-lints=allow"] - -[cargo] -versioned_dirs = true - -[buck] -generated_file_header = """ -# \u0040generated by `reindeer buckify` -""" -buckfile_imports = """ -load("//tools/buck:buildscript.bzl", "buildscript_args") -load("//tools/buck:third_party.bzl", "third_party_rust_library") -""" -rust_library = "third_party_rust_library" diff --git a/tools/bazel/BUILD b/tools/bazel/BUILD index d42fc71c..63c8db9e 100644 --- a/tools/bazel/BUILD +++ b/tools/bazel/BUILD @@ -5,3 +5,15 @@ bzl_library( srcs = glob(["**/*.bzl"]), visibility = ["//visibility:public"], ) + +xcode_version( + name = "github_actions_xcode_14_2_0", + default_macos_sdk_version = "13.1", + version = "14.2", +) + +xcode_config( + name = "github_actions_xcodes", + default = ":github_actions_xcode_14_2_0", + versions = [":github_actions_xcode_14_2_0"], +) diff --git a/tools/bazel/extension.bzl b/tools/bazel/extension.bzl new file mode 100644 index 00000000..efde7f26 --- /dev/null +++ b/tools/bazel/extension.bzl @@ -0,0 +1,12 @@ +load("//third-party/bazel:defs.bzl", _crate_repositories = "crate_repositories") + +def _crate_repositories_impl(module_ctx): + direct_deps = _crate_repositories() + return module_ctx.extension_metadata( + root_module_direct_deps = [repo.repo for repo in direct_deps], + root_module_direct_dev_deps = [], + ) + +crate_repositories = module_extension( + implementation = _crate_repositories_impl, +) diff --git a/tools/buck/.ignore b/tools/buck/.ignore new file mode 100644 index 00000000..adba186d --- /dev/null +++ b/tools/buck/.ignore @@ -0,0 +1 @@ +prelude/ diff --git a/tools/buck/build_mode.bzl b/tools/buck/build_mode.bzl new file mode 100644 index 00000000..aeff4987 --- /dev/null +++ b/tools/buck/build_mode.bzl @@ -0,0 +1,14 @@ +load("@prelude//:build_mode.bzl", "BuildModeInfo") + +def _build_mode_impl(ctx: AnalysisContext) -> list[Provider]: + return [ + DefaultInfo(), + BuildModeInfo(cell = ctx.attrs.cell), + ] + +build_mode = rule( + impl = _build_mode_impl, + attrs = { + "cell": attrs.string(), + }, +) diff --git a/tools/buck/buildscript.bzl b/tools/buck/buildscript.bzl deleted file mode 100644 index e4d5e1e4..00000000 --- a/tools/buck/buildscript.bzl +++ /dev/null @@ -1,17 +0,0 @@ -def buildscript_args( - name: str.type, - package_name: str.type, - buildscript_rule: str.type, - outfile: str.type, - version: str.type, - cfgs: [str.type] = [], - features: [str.type] = []): - _ = package_name - _ = version - _ = cfgs - _ = features - native.genrule( - name = name, - out = outfile, - cmd = "env RUSTC=rustc TARGET= $(exe %s) | sed -n s/^cargo:rustc-cfg=/--cfg=/p > ${OUT}" % buildscript_rule, - ) diff --git a/tools/buck/prelude b/tools/buck/prelude -Subproject 08670e1d9a3fde1fd3cdc12839747a9ea1852a5 +Subproject 7b15f7b14e0a1628d4f1081b131aa7846a0404b diff --git a/tools/buck/rust_cxx_bridge.bzl b/tools/buck/rust_cxx_bridge.bzl index 18bb2458..1dce3950 100644 --- a/tools/buck/rust_cxx_bridge.bzl +++ b/tools/buck/rust_cxx_bridge.bzl @@ -1,23 +1,26 @@ def rust_cxx_bridge( - name: str.type, - src: str.type, - deps: [str.type] = []): - native.genrule( + name: str, + src: str, + deps: list[str] = []): + native.export_file( name = "%s/header" % name, + src = ":%s/generated[generated.h]" % name, out = src + ".h", - cmd = "cp $(location :%s/generated)/generated.h ${OUT}" % name, ) - native.genrule( + native.export_file( name = "%s/source" % name, + src = ":%s/generated[generated.cc]" % name, out = src + ".cc", - cmd = "cp $(location :%s/generated)/generated.cc ${OUT}" % name, ) native.genrule( name = "%s/generated" % name, srcs = [src], - out = ".", + outs = { + "generated.cc": ["generated.cc"], + "generated.h": ["generated.h"], + }, cmd = "$(exe //:codegen) ${SRCS} -o ${OUT}/generated.h -o ${OUT}/generated.cc", type = "cxxbridge", ) diff --git a/tools/buck/third_party.bzl b/tools/buck/third_party.bzl deleted file mode 100644 index 84e5ca8f..00000000 --- a/tools/buck/third_party.bzl +++ /dev/null @@ -1,5 +0,0 @@ -def third_party_rust_library(**kwargs): - native.rust_library( - doctests = False, - **kwargs - ) diff --git a/tools/buck/toolchains/BUCK b/tools/buck/toolchains/BUCK index 6984a86b..e120a29b 100644 --- a/tools/buck/toolchains/BUCK +++ b/tools/buck/toolchains/BUCK @@ -1,10 +1,21 @@ load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") load("@prelude//toolchains:genrule.bzl", "system_genrule_toolchain") load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") +load("@prelude//toolchains:remote_test_execution.bzl", "remote_test_execution_toolchain") load("@prelude//toolchains:rust.bzl", "system_rust_toolchain") system_cxx_toolchain( name = "cxx", + cxx_flags = select({ + "config//os:linux": ["-std=c++17"], + "config//os:macos": ["-std=c++17"], + "config//os:windows": [], + }), + link_flags = select({ + "config//os:linux": ["-lstdc++"], + "config//os:macos": ["-lc++"], + "config//os:windows": [], + }), visibility = ["PUBLIC"], ) @@ -21,5 +32,11 @@ system_python_bootstrap_toolchain( system_rust_toolchain( name = "rust", default_edition = None, + doctests = True, + visibility = ["PUBLIC"], +) + +remote_test_execution_toolchain( + name = "remote_test_execution", visibility = ["PUBLIC"], ) |