From 664f0bc626a9a95aa436e08384b48778f138cd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20=F0=9F=A6=9D=20Delenk?= Date: Tue, 26 Nov 2024 08:41:01 +0100 Subject: [PATCH] initial commit --- .envrc | 1 + .gitignore | 7 + Cargo.lock | 3625 ++++++ Cargo.nix | 10505 ++++++++++++++++ Cargo.toml | 92 + chir-rs-config/Cargo.toml | 60 + chir-rs-config/src/lib.rs | 197 + ...c0de67106e426a1ae4e7cdac6eb85eeeb3849.json | 12 + ...ed3cc0a2711b37687e595619fa001fa2633bc.json | 12 + chir-rs-db/Cargo.toml | 67 + chir-rs-db/build.rs | 6 + .../20241123151924_add-file-table.sql | 10 + chir-rs-db/src/file.rs | 190 + chir-rs-db/src/lib.rs | 27 + chir-rs-gemini/Cargo.toml | 62 + chir-rs-gemini/src/lib.rs | 53 + chir-rs-http-api/Cargo.toml | 66 + chir-rs-http-api/src/axum/bincode.rs | 88 + chir-rs-http-api/src/axum/error.rs | 40 + chir-rs-http-api/src/axum/mod.rs | 4 + chir-rs-http-api/src/errors/mod.rs | 51 + chir-rs-http-api/src/lib.rs | 6 + chir-rs-http-api/src/readiness.rs | 12 + chir-rs-http/Cargo.toml | 67 + chir-rs-http/src/lib.rs | 73 + config-example.toml | 15 + flake.lock | 141 + flake.nix | 73 + gencert.sh | 4 + src/main.rs | 103 + 30 files changed, 15669 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.nix create mode 100644 Cargo.toml create mode 100644 chir-rs-config/Cargo.toml create mode 100644 chir-rs-config/src/lib.rs create mode 100644 chir-rs-db/.sqlx/query-3b729cf7297b569253249000a3cc0de67106e426a1ae4e7cdac6eb85eeeb3849.json create mode 100644 chir-rs-db/.sqlx/query-88de2bc8bea8b9b5f1de736af16ed3cc0a2711b37687e595619fa001fa2633bc.json create mode 100644 chir-rs-db/Cargo.toml create mode 100644 chir-rs-db/build.rs create mode 100644 chir-rs-db/migrations/20241123151924_add-file-table.sql create mode 100644 chir-rs-db/src/file.rs create mode 100644 chir-rs-db/src/lib.rs create mode 100644 chir-rs-gemini/Cargo.toml create mode 100644 chir-rs-gemini/src/lib.rs create mode 100644 chir-rs-http-api/Cargo.toml create mode 100644 chir-rs-http-api/src/axum/bincode.rs create mode 100644 chir-rs-http-api/src/axum/error.rs create mode 100644 chir-rs-http-api/src/axum/mod.rs create mode 100644 chir-rs-http-api/src/errors/mod.rs create mode 100644 chir-rs-http-api/src/lib.rs create mode 100644 chir-rs-http-api/src/readiness.rs create mode 100644 chir-rs-http/Cargo.toml create mode 100644 chir-rs-http/src/lib.rs create mode 100644 config-example.toml create mode 100644 flake.lock create mode 100644 flake.nix create mode 100755 gencert.sh create mode 100644 src/main.rs diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..8392d15 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..637bbec --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/target +.env +config.toml +.direnv +target/ +target-bin/ +secrets/ \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..f309533 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3625 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-trait" +version = "0.1.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "aws-lc-rs" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f47bb8cc16b669d267eeccf585aea077d0882f4777b1c1f740217885d6e6e5a3" +dependencies = [ + "aws-lc-sys", + "paste", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2101df3813227bbaaaa0b04cd61c534c7954b22bd68d399b440be937dc63ff7" +dependencies = [ + "bindgen", + "cc", + "cmake", + "dunce", + "fs_extra", + "libc", + "paste", +] + +[[package]] +name = "axum" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tower 0.5.1", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-prometheus" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "739e2585f5376f5bdd129324ded72d3261fdd5b7c411a645920328fb5dc875d4" +dependencies = [ + "axum", + "bytes", + "futures-core", + "http", + "http-body", + "matchit", + "metrics", + "metrics-exporter-prometheus", + "once_cell", + "pin-project", + "tokio", + "tower 0.4.13", + "tower-http 0.5.2", +] + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "2.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f11ea1a0346b94ef188834a65c068a03aec181c94896d481d7a0a40d85b0ce95" +dependencies = [ + "bincode_derive", + "serde", +] + +[[package]] +name = "bincode_derive" +version = "2.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e30759b3b99a1b802a7a3aa21c85c3ded5c28e1c83170d82d70f08bbf7f3e4c" +dependencies = [ + "virtue", +] + +[[package]] +name = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "itertools", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn", + "which", +] + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] + +[[package]] +name = "blake3" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "serde", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" + +[[package]] +name = "cc" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chir-rs" +version = "0.1.0" +dependencies = [ + "chir-rs-config", + "chir-rs-db", + "chir-rs-gemini", + "chir-rs-http", + "color-eyre", + "dotenvy", + "eyre", + "sentry", + "sentry-eyre", + "sentry-tracing", + "tokio", + "tracing-error", + "tracing-subscriber", +] + +[[package]] +name = "chir-rs-config" +version = "0.1.0" +dependencies = [ + "atty", + "eyre", + "sentry-core", + "serde", + "toml", +] + +[[package]] +name = "chir-rs-db" +version = "0.1.0" +dependencies = [ + "bincode", + "blake3", + "eyre", + "serde", + "sqlx", + "tracing", +] + +[[package]] +name = "chir-rs-gemini" +version = "0.1.0" +dependencies = [ + "bytes", + "chir-rs-config", + "chir-rs-db", + "eyre", + "rustls 0.23.18", + "tokio", + "tokio-rustls", + "tracing", +] + +[[package]] +name = "chir-rs-http" +version = "0.1.0" +dependencies = [ + "axum", + "axum-prometheus", + "chir-rs-config", + "chir-rs-db", + "chir-rs-http-api", + "eyre", + "sentry-tower", + "tokio", + "tower-http 0.6.2", + "tracing", +] + +[[package]] +name = "chir-rs-http-api" +version = "0.1.0" +dependencies = [ + "async-trait", + "axum-core", + "bincode", + "bytes", + "http", + "mime", + "thiserror 2.0.3", + "tracing", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "cmake" +version = "0.1.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +dependencies = [ + "cc", +] + +[[package]] +name = "color-eyre" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" +dependencies = [ + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", + "url", +] + +[[package]] +name = "color-spantrace" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +dependencies = [ + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "cpufeatures" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "serde", + "uuid", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fastrand" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" + +[[package]] +name = "findshlibs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" +dependencies = [ + "cc", + "lazy_static", + "libc", + "winapi", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls 0.23.18", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.165" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb4d3d38eab6c5239a362fa8bae48c03baf980a6e7079f063942d563ef3533e" + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "metrics" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" +dependencies = [ + "ahash", + "portable-atomic", +] + +[[package]] +name = "metrics-exporter-prometheus" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6" +dependencies = [ + "base64", + "http-body-util", + "hyper", + "hyper-util", + "indexmap", + "ipnet", + "metrics", + "metrics-util", + "quanta", + "thiserror 1.0.69", + "tokio", + "tracing", +] + +[[package]] +name = "metrics-util" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.14.5", + "metrics", + "num_cpus", + "quanta", + "sketches-ddsketch", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.9", + "libc", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "os_info" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "serde", + "windows-sys 0.52.0", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quanta" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + +[[package]] +name = "quinn" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.0.0", + "rustls 0.23.18", + "socket2", + "thiserror 2.0.3", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom", + "rand", + "ring", + "rustc-hash 2.0.0", + "rustls 0.23.18", + "rustls-pki-types", + "slab", + "thiserror 2.0.3", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "raw-cpuid" +version = "11.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.12.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.18", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-rustls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "windows-registry", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f" +dependencies = [ + "aws-lc-rs", + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +dependencies = [ + "web-time", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "aws-lc-rs", + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "sentry" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5484316556650182f03b43d4c746ce0e3e48074a21e2f51244b648b6542e1066" +dependencies = [ + "httpdate", + "reqwest", + "rustls 0.22.4", + "sentry-backtrace", + "sentry-contexts", + "sentry-core", + "sentry-debug-images", + "sentry-panic", + "sentry-tracing", + "tokio", + "ureq", + "webpki-roots", +] + +[[package]] +name = "sentry-backtrace" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40aa225bb41e2ec9d7c90886834367f560efc1af028f1c5478a6cce6a59c463a" +dependencies = [ + "backtrace", + "once_cell", + "regex", + "sentry-core", +] + +[[package]] +name = "sentry-contexts" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a8dd746da3d16cb8c39751619cefd4fcdbd6df9610f3310fd646b55f6e39910" +dependencies = [ + "hostname", + "libc", + "os_info", + "rustc_version", + "sentry-core", + "uname", +] + +[[package]] +name = "sentry-core" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161283cfe8e99c8f6f236a402b9ccf726b201f365988b5bb637ebca0abbd4a30" +dependencies = [ + "crc32fast", + "once_cell", + "rand", + "regex", + "sentry-types", + "serde", + "serde_json", +] + +[[package]] +name = "sentry-debug-images" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc6b25e945fcaa5e97c43faee0267eebda9f18d4b09a251775d8fef1086238a" +dependencies = [ + "findshlibs", + "once_cell", + "sentry-core", +] + +[[package]] +name = "sentry-eyre" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ba221106f53abf085db8871c53cd325ba14f50b2ba18819d5e6db0f782ddc3f" +dependencies = [ + "eyre", + "sentry-core", +] + +[[package]] +name = "sentry-panic" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc74f229c7186dd971a9491ffcbe7883544aa064d1589bd30b83fb856cd22d63" +dependencies = [ + "sentry-backtrace", + "sentry-core", +] + +[[package]] +name = "sentry-tower" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c90802b38c899a2c9e557dff25ad186362eddf755d5f5244001b172dd03bead" +dependencies = [ + "axum", + "http", + "pin-project", + "sentry-core", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "sentry-tracing" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3c5faf2103cd01eeda779ea439b68c4ee15adcdb16600836e97feafab362ec" +dependencies = [ + "sentry-backtrace", + "sentry-core", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sentry-types" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d68cdf6bc41b8ff3ae2a9c4671e97426dcdd154cc1d4b6b72813f285d6b163f" +dependencies = [ + "debugid", + "hex", + "rand", + "serde", + "serde_json", + "thiserror 1.0.69", + "time", + "url", + "uuid", +] + +[[package]] +name = "serde" +version = "1.0.215" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.215" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "sketches-ddsketch" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" +dependencies = [ + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e" +dependencies = [ + "atoi", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-channel", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.14.5", + "hashlink", + "hex", + "indexmap", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlformat", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 1.0.69", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 1.0.69", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +dependencies = [ + "thiserror-impl 2.0.3", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.41.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.18", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +dependencies = [ + "bitflags", + "bytes", + "http", + "http-body", + "http-body-util", + "pin-project-lite", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +dependencies = [ + "bitflags", + "bytes", + "http", + "http-body", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-error" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +dependencies = [ + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "uname" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" +dependencies = [ + "libc", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" + +[[package]] +name = "unicode-ident" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +dependencies = [ + "base64", + "log", + "once_cell", + "rustls 0.23.18", + "rustls-pki-types", + "url", + "webpki-roots", +] + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +dependencies = [ + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "virtue" +version = "0.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dcc60c0624df774c82a0ef104151231d37da4962957d691c011c852b2473314" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" + +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + +[[package]] +name = "whoami" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +dependencies = [ + "redox_syscall", + "wasite", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.nix b/Cargo.nix new file mode 100644 index 0000000..d9f86e9 --- /dev/null +++ b/Cargo.nix @@ -0,0 +1,10505 @@ +# This file was @generated by cargo2nix 0.11.0. +# It is not intended to be manually edited. + +args@{ + release ? true, + rootFeatures ? [ + "chir-rs-config/default" + "chir-rs-db/default" + "chir-rs-gemini/default" + "chir-rs-http/default" + "chir-rs-http-api/default" + "chir-rs/default" + ], + rustPackages, + buildRustPackages, + hostPlatform, + hostPlatformCpu ? null, + hostPlatformFeatures ? [ ], + target ? null, + codegenOpts ? null, + profileOpts ? null, + cargoUnstableFlags ? null, + rustcLinkFlags ? null, + rustcBuildFlags ? null, + mkRustCrate, + rustLib, + lib, + workspaceSrc, + ignoreLockHash, +}: +let + nixifiedLockHash = "c852434b4158d757f3ce86a0514b1edb71bbc37ade477a95029fca8b40b142ee"; + workspaceSrc = if args.workspaceSrc == null then ./. else args.workspaceSrc; + currentLockHash = builtins.hashFile "sha256" (workspaceSrc + /Cargo.lock); + lockHashIgnored = + if ignoreLockHash then builtins.trace "Ignoring lock hash" ignoreLockHash else ignoreLockHash; +in +if !lockHashIgnored && (nixifiedLockHash != currentLockHash) then + throw ("Cargo.nix ${nixifiedLockHash} is out of sync with Cargo.lock ${currentLockHash}") +else + let + inherit (rustLib) + fetchCratesIo + fetchCrateLocal + fetchCrateGit + fetchCrateAlternativeRegistry + expandFeatures + decideProfile + genDrvsByProfile + ; + profilesByName = { + release = builtins.fromTOML "codegen-units = 1\ndebug = \"full\"\nlto = true\nstrip = \"none\"\n"; + }; + rootFeatures' = expandFeatures rootFeatures; + overridableMkRustCrate = + f: + let + drvs = genDrvsByProfile profilesByName ( + { profile, profileName }: + mkRustCrate ( + { + inherit + release + profile + hostPlatformCpu + hostPlatformFeatures + target + profileOpts + codegenOpts + cargoUnstableFlags + rustcLinkFlags + rustcBuildFlags + ; + } + // (f profileName) + ) + ); + in + { + compileMode ? null, + profileName ? decideProfile compileMode release, + }: + let + drv = drvs.${profileName}; + in + if compileMode == null then drv else drv.override { inherit compileMode; }; + in + { + cargo2nixVersion = "0.11.0"; + workspace = { + chir-rs-config = rustPackages.unknown.chir-rs-config."0.1.0"; + chir-rs-db = rustPackages.unknown.chir-rs-db."0.1.0"; + chir-rs-gemini = rustPackages.unknown.chir-rs-gemini."0.1.0"; + chir-rs-http = rustPackages.unknown.chir-rs-http."0.1.0"; + chir-rs-http-api = rustPackages.unknown.chir-rs-http-api."0.1.0"; + chir-rs = rustPackages.unknown.chir-rs."0.1.0"; + }; + "registry+https://github.com/rust-lang/crates.io-index".addr2line."0.21.0" = + overridableMkRustCrate + (profileName: rec { + name = "addr2line"; + version = "0.21.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"; + }; + dependencies = { + gimli = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".gimli."0.28.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".adler."1.0.2" = + overridableMkRustCrate + (profileName: rec { + name = "adler"; + version = "1.0.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ahash."0.8.11" = + overridableMkRustCrate + (profileName: rec { + name = "ahash"; + version = "0.8.11"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${ + if + !( + (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l") + && hostPlatform.parsed.kernel.name == "none" + ) + then + "once_cell" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + zerocopy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy."0.7.35" { + inherit profileName; + }).out; + }; + buildDependencies = { + version_check = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".version_check."0.9.5" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.3" = + overridableMkRustCrate + (profileName: rec { + name = "aho-corasick"; + version = "1.1.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"; + }; + features = builtins.concatLists [ + [ "perf-literal" ] + [ "std" ] + ]; + dependencies = { + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".allocator-api2."0.2.20" = + overridableMkRustCrate + (profileName: rec { + name = "allocator-api2"; + version = "0.2.20"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".arrayref."0.3.9" = + overridableMkRustCrate + (profileName: rec { + name = "arrayref"; + version = "0.3.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".arrayvec."0.7.6" = + overridableMkRustCrate + (profileName: rec { + name = "arrayvec"; + version = "0.7.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".async-trait."0.1.83" = + overridableMkRustCrate + (profileName: rec { + name = "async-trait"; + version = "0.1.83"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".atoi."2.0.0" = + overridableMkRustCrate + (profileName: rec { + name = "atoi"; + version = "2.0.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + num_traits = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".atomic-waker."1.1.2" = + overridableMkRustCrate + (profileName: rec { + name = "atomic-waker"; + version = "1.1.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".atty."0.2.14" = + overridableMkRustCrate + (profileName: rec { + name = "atty"; + version = "0.2.14"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"; + }; + dependencies = { + ${if hostPlatform.parsed.kernel.name == "hermit" then "hermit_abi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.1.19" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "winapi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".autocfg."1.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "autocfg"; + version = "1.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".aws-lc-rs."1.11.1" = + overridableMkRustCrate + (profileName: rec { + name = "aws-lc-rs"; + version = "1.11.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f47bb8cc16b669d267eeccf585aea077d0882f4777b1c1f740217885d6e6e5a3"; + }; + features = builtins.concatLists [ + [ "aws-lc-sys" ] + [ "prebuilt-nasm" ] + ]; + dependencies = { + aws_lc_sys = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".aws-lc-sys."0.23.1" { + inherit profileName; + }).out; + paste = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".paste."1.0.15" { + profileName = "__noProfile"; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".aws-lc-sys."0.23.1" = + overridableMkRustCrate + (profileName: rec { + name = "aws-lc-sys"; + version = "0.23.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a2101df3813227bbaaaa0b04cd61c534c7954b22bd68d399b440be937dc63ff7"; + }; + features = builtins.concatLists [ + [ "prebuilt-nasm" ] + ]; + dependencies = { + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + paste = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".paste."1.0.15" { + profileName = "__noProfile"; + }).out; + }; + buildDependencies = { + ${ + if + !( + (hostPlatform.parsed.cpu.name == "x86_64" || hostPlatform.parsed.cpu.name == "aarch64") + && ( + hostPlatform.parsed.kernel.name == "linux" + || hostPlatform.parsed.kernel.name == "darwin" + || hostPlatform.parsed.kernel.name == "windows" + ) + && ( + hostPlatform.parsed.abi.name == "gnu" + || hostPlatform.parsed.abi.name == "musl" + || hostPlatform.parsed.abi.name == "msvc" + || hostPlatform.parsed.abi.name == "" + ) + || + hostPlatform.parsed.cpu.name == "i686" + && hostPlatform.parsed.kernel.name == "windows" + && hostPlatform.parsed.abi.name == "msvc" + || + hostPlatform.parsed.cpu.name == "i686" + && hostPlatform.parsed.kernel.name == "linux" + && hostPlatform.parsed.abi.name == "gnu" + ) + then + "bindgen" + else + null + } = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".bindgen."0.69.5" { + profileName = "__noProfile"; + }).out; + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + cmake = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cmake."0.1.52" { + profileName = "__noProfile"; + }).out; + dunce = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".dunce."1.0.5" { + profileName = "__noProfile"; + }).out; + fs_extra = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".fs_extra."1.3.0" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".axum."0.7.9" = + overridableMkRustCrate + (profileName: rec { + name = "axum"; + version = "0.7.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "form" ] + [ "http1" ] + [ "json" ] + [ "matched-path" ] + [ "original-uri" ] + [ "query" ] + [ "tokio" ] + [ "tower-log" ] + [ "tracing" ] + ]; + dependencies = { + async_trait = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".async-trait."0.1.83" { + profileName = "__noProfile"; + }).out; + axum_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum-core."0.4.5" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + http_body_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" { + inherit profileName; + }).out; + hyper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" { + inherit profileName; + }).out; + hyper_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper-util."0.1.10" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + matchit = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".matchit."0.7.3" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + mime = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".mime."0.3.17" { + inherit profileName; + }).out; + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + rustversion = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".rustversion."1.0.18" { + profileName = "__noProfile"; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + serde_path_to_error = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_path_to_error."0.1.16" { + inherit profileName; + }).out; + serde_urlencoded = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_urlencoded."0.7.1" { + inherit profileName; + }).out; + sync_wrapper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."1.0.2" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tower = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower."0.5.1" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".axum-core."0.4.5" = + overridableMkRustCrate + (profileName: rec { + name = "axum-core"; + version = "0.4.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"; + }; + features = builtins.concatLists [ + [ "tracing" ] + ]; + dependencies = { + async_trait = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".async-trait."0.1.83" { + profileName = "__noProfile"; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + http_body_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" { + inherit profileName; + }).out; + mime = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".mime."0.3.17" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + rustversion = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".rustversion."1.0.18" { + profileName = "__noProfile"; + }).out; + sync_wrapper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."1.0.2" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".axum-prometheus."0.7.0" = + overridableMkRustCrate + (profileName: rec { + name = "axum-prometheus"; + version = "0.7.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "739e2585f5376f5bdd129324ded72d3261fdd5b7c411a645920328fb5dc875d4"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "metrics-exporter-prometheus" ] + [ "prometheus" ] + ]; + dependencies = { + axum = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum."0.7.9" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + matchit = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".matchit."0.7.3" { + inherit profileName; + }).out; + metrics = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".metrics."0.23.0" { + inherit profileName; + }).out; + metrics_exporter_prometheus = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".metrics-exporter-prometheus."0.15.3" + { inherit profileName; } + ).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + pin_project = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project."1.1.7" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tower = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower."0.4.13" { + inherit profileName; + }).out; + tower_http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-http."0.5.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.71" = + overridableMkRustCrate + (profileName: rec { + name = "backtrace"; + version = "0.3.71"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "gimli-symbolize" ] + [ "std" ] + ]; + dependencies = { + ${ + if + !( + hostPlatform.isWindows + && hostPlatform.parsed.abi.name == "msvc" + && !(hostPlatform.parsed.vendor.name == "uwp") + ) + then + "addr2line" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".addr2line."0.21.0" { + inherit profileName; + }).out; + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${ + if + !( + hostPlatform.isWindows + && hostPlatform.parsed.abi.name == "msvc" + && !(hostPlatform.parsed.vendor.name == "uwp") + ) + then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${ + if + !( + hostPlatform.isWindows + && hostPlatform.parsed.abi.name == "msvc" + && !(hostPlatform.parsed.vendor.name == "uwp") + ) + then + "miniz_oxide" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".miniz_oxide."0.7.4" { + inherit profileName; + }).out; + ${ + if + !( + hostPlatform.isWindows + && hostPlatform.parsed.abi.name == "msvc" + && !(hostPlatform.parsed.vendor.name == "uwp") + ) + then + "object" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".object."0.32.2" { + inherit profileName; + }).out; + rustc_demangle = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustc-demangle."0.1.24" { + inherit profileName; + }).out; + }; + buildDependencies = { + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" = + overridableMkRustCrate + (profileName: rec { + name = "base64"; + version = "0.22.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".base64ct."1.6.0" = + overridableMkRustCrate + (profileName: rec { + name = "base64ct"; + version = "1.6.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bincode."2.0.0-rc.3" = + overridableMkRustCrate + (profileName: rec { + name = "bincode"; + version = "2.0.0-rc.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f11ea1a0346b94ef188834a65c068a03aec181c94896d481d7a0a40d85b0ce95"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "bincode_derive" ] + [ "default" ] + [ "derive" ] + [ "std" ] + ]; + dependencies = { + bincode_derive = + ( + buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".bincode_derive."2.0.0-rc.3" + { profileName = "__noProfile"; } + ).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bincode_derive."2.0.0-rc.3" = + overridableMkRustCrate + (profileName: rec { + name = "bincode_derive"; + version = "2.0.0-rc.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7e30759b3b99a1b802a7a3aa21c85c3ded5c28e1c83170d82d70f08bbf7f3e4c"; + }; + dependencies = { + virtue = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".virtue."0.0.13" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bindgen."0.69.5" = + overridableMkRustCrate + (profileName: rec { + name = "bindgen"; + version = "0.69.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "logging" ] + [ "prettyplease" ] + [ "runtime" ] + [ "which-rustfmt" ] + ]; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + cexpr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cexpr."0.6.0" { + inherit profileName; + }).out; + clang_sys = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".clang-sys."1.8.1" { + inherit profileName; + }).out; + itertools = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itertools."0.12.1" { + inherit profileName; + }).out; + lazy_static = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.5.0" { + inherit profileName; + }).out; + lazycell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazycell."1.3.0" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + prettyplease = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".prettyplease."0.2.25" { + inherit profileName; + }).out; + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + regex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.11.1" { + inherit profileName; + }).out; + rustc_hash = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustc-hash."1.1.0" { + inherit profileName; + }).out; + shlex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".shlex."1.3.0" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + which = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".which."4.4.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" = + overridableMkRustCrate + (profileName: rec { + name = "bitflags"; + version = "2.6.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"; + }; + features = builtins.concatLists [ + [ "serde" ] + [ "std" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".blake3."1.5.4" = + overridableMkRustCrate + (profileName: rec { + name = "blake3"; + version = "1.5.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "serde" ] + [ "std" ] + ]; + dependencies = { + arrayref = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".arrayref."0.3.9" { + inherit profileName; + }).out; + arrayvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".arrayvec."0.7.6" { + inherit profileName; + }).out; + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + constant_time_eq = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".constant_time_eq."0.3.1" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + buildDependencies = { + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".block-buffer."0.10.4" = + overridableMkRustCrate + (profileName: rec { + name = "block-buffer"; + version = "0.10.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"; + }; + dependencies = { + generic_array = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".generic-array."0.14.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bumpalo."3.16.0" = + overridableMkRustCrate + (profileName: rec { + name = "bumpalo"; + version = "3.16.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "byteorder"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" = + overridableMkRustCrate + (profileName: rec { + name = "bytes"; + version = "1.8.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "cc"; + version = "1.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47"; + }; + features = builtins.concatLists [ + [ "parallel" ] + ]; + dependencies = { + jobserver = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".jobserver."0.1.32" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + shlex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".shlex."1.3.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cexpr."0.6.0" = + overridableMkRustCrate + (profileName: rec { + name = "cexpr"; + version = "0.6.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"; + }; + dependencies = { + nom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".nom."7.1.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" = + overridableMkRustCrate + (profileName: rec { + name = "cfg-if"; + version = "1.0.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cfg_aliases."0.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "cfg_aliases"; + version = "0.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"; + }; + }); + + "unknown".chir-rs."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal workspaceSrc; + dependencies = { + chir_rs_config = (rustPackages."unknown".chir-rs-config."0.1.0" { inherit profileName; }).out; + chir_rs_db = (rustPackages."unknown".chir-rs-db."0.1.0" { inherit profileName; }).out; + chir_rs_gemini = (rustPackages."unknown".chir-rs-gemini."0.1.0" { inherit profileName; }).out; + chir_rs_http = (rustPackages."unknown".chir-rs-http."0.1.0" { inherit profileName; }).out; + color_eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".color-eyre."0.6.3" { + inherit profileName; + }).out; + dotenvy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".dotenvy."0.15.7" { + inherit profileName; + }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + sentry = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry."0.34.0" { + inherit profileName; + }).out; + sentry_eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-eyre."0.2.0" { + inherit profileName; + }).out; + sentry_tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-tracing."0.34.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tracing_error = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-error."0.2.0" { + inherit profileName; + }).out; + tracing_subscriber = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-subscriber."0.3.18" { + inherit profileName; + }).out; + }; + }); + + "unknown".chir-rs-config."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs-config"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal (workspaceSrc + "/chir-rs-config"); + dependencies = { + atty = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atty."0.2.14" { + inherit profileName; + }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + toml = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".toml."0.8.19" { + inherit profileName; + }).out; + }; + }); + + "unknown".chir-rs-db."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs-db"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal (workspaceSrc + "/chir-rs-db"); + dependencies = { + bincode = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bincode."2.0.0-rc.3" { + inherit profileName; + }).out; + blake3 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".blake3."1.5.4" { + inherit profileName; + }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + sqlx = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx."0.8.2" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "unknown".chir-rs-gemini."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs-gemini"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal (workspaceSrc + "/chir-rs-gemini"); + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + chir_rs_config = (rustPackages."unknown".chir-rs-config."0.1.0" { inherit profileName; }).out; + chir_rs_db = (rustPackages."unknown".chir-rs-db."0.1.0" { inherit profileName; }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tokio_rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-rustls."0.26.0" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "unknown".chir-rs-http."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs-http"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal (workspaceSrc + "/chir-rs-http"); + dependencies = { + axum = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum."0.7.9" { + inherit profileName; + }).out; + axum_prometheus = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum-prometheus."0.7.0" { + inherit profileName; + }).out; + chir_rs_config = (rustPackages."unknown".chir-rs-config."0.1.0" { inherit profileName; }).out; + chir_rs_db = (rustPackages."unknown".chir-rs-db."0.1.0" { inherit profileName; }).out; + chir_rs_http_api = (rustPackages."unknown".chir-rs-http-api."0.1.0" { inherit profileName; }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + sentry_tower = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-tower."0.34.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tower_http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-http."0.6.2" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "unknown".chir-rs-http-api."0.1.0" = overridableMkRustCrate (profileName: rec { + name = "chir-rs-http-api"; + version = "0.1.0"; + registry = "unknown"; + src = fetchCrateLocal (workspaceSrc + "/chir-rs-http-api"); + features = builtins.concatLists [ + [ "async-trait" ] + [ "axum" ] + [ "axum-core" ] + [ "bytes" ] + [ "mime" ] + [ "tracing" ] + ]; + dependencies = { + async_trait = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".async-trait."0.1.83" { + profileName = "__noProfile"; + }).out; + axum_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum-core."0.4.5" { + inherit profileName; + }).out; + bincode = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bincode."2.0.0-rc.3" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + mime = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".mime."0.3.17" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."2.0.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".clang-sys."1.8.1" = + overridableMkRustCrate + (profileName: rec { + name = "clang-sys"; + version = "1.8.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"; + }; + features = builtins.concatLists [ + [ "clang_3_5" ] + [ "clang_3_6" ] + [ "clang_3_7" ] + [ "clang_3_8" ] + [ "clang_3_9" ] + [ "clang_4_0" ] + [ "clang_5_0" ] + [ "clang_6_0" ] + [ "libloading" ] + [ "runtime" ] + ]; + dependencies = { + glob = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".glob."0.3.1" { + inherit profileName; + }).out; + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + libloading = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libloading."0.8.5" { + inherit profileName; + }).out; + }; + buildDependencies = { + glob = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".glob."0.3.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cmake."0.1.52" = + overridableMkRustCrate + (profileName: rec { + name = "cmake"; + version = "0.1.52"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e"; + }; + dependencies = { + cc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".color-eyre."0.6.3" = + overridableMkRustCrate + (profileName: rec { + name = "color-eyre"; + version = "0.6.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"; + }; + features = builtins.concatLists [ + [ "capture-spantrace" ] + [ "color-spantrace" ] + [ "default" ] + [ "issue-url" ] + [ "tracing-error" ] + [ "track-caller" ] + [ "url" ] + ]; + dependencies = { + backtrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.71" { + inherit profileName; + }).out; + color_spantrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".color-spantrace."0.2.1" { + inherit profileName; + }).out; + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + indenter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indenter."0.3.3" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + owo_colors = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".owo-colors."3.5.0" { + inherit profileName; + }).out; + tracing_error = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-error."0.2.0" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".color-spantrace."0.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "color-spantrace"; + version = "0.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2"; + }; + dependencies = { + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + owo_colors = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".owo-colors."3.5.0" { + inherit profileName; + }).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + tracing_error = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-error."0.2.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".concurrent-queue."2.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "concurrent-queue"; + version = "2.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + dependencies = { + crossbeam_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".const-oid."0.9.6" = + overridableMkRustCrate + (profileName: rec { + name = "const-oid"; + version = "0.9.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".constant_time_eq."0.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "constant_time_eq"; + version = "0.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".cpufeatures."0.2.16" = + overridableMkRustCrate + (profileName: rec { + name = "cpufeatures"; + version = "0.2.16"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3"; + }; + dependencies = { + ${ + if + hostPlatform.config == "aarch64-linux-android" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.kernel.name == "linux" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.vendor.name == "apple" + || hostPlatform.parsed.cpu.name == "loongarch64" && hostPlatform.parsed.kernel.name == "linux" + then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crc."3.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "crc"; + version = "3.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"; + }; + dependencies = { + crc_catalog = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crc-catalog."2.4.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crc-catalog."2.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "crc-catalog"; + version = "2.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crc32fast."1.4.2" = + overridableMkRustCrate + (profileName: rec { + name = "crc32fast"; + version = "1.4.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crossbeam-epoch."0.9.18" = + overridableMkRustCrate + (profileName: rec { + name = "crossbeam-epoch"; + version = "0.9.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "std" ] + ]; + dependencies = { + crossbeam_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crossbeam-queue."0.3.11" = + overridableMkRustCrate + (profileName: rec { + name = "crossbeam-queue"; + version = "0.3.11"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + dependencies = { + crossbeam_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" = + overridableMkRustCrate + (profileName: rec { + name = "crossbeam-utils"; + version = "0.8.20"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".crypto-common."0.1.6" = + overridableMkRustCrate + (profileName: rec { + name = "crypto-common"; + version = "0.1.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + dependencies = { + generic_array = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".generic-array."0.14.7" { + inherit profileName; + }).out; + typenum = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".typenum."1.17.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".debugid."0.8.0" = + overridableMkRustCrate + (profileName: rec { + name = "debugid"; + version = "0.8.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"; + }; + features = builtins.concatLists [ + [ "serde" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + uuid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".uuid."1.11.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".der."0.7.9" = + overridableMkRustCrate + (profileName: rec { + name = "der"; + version = "0.7.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "oid" ] + [ "pem" ] + [ "std" ] + [ "zeroize" ] + ]; + dependencies = { + const_oid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".const-oid."0.9.6" { + inherit profileName; + }).out; + pem_rfc7468 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pem-rfc7468."0.7.0" { + inherit profileName; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".deranged."0.3.11" = + overridableMkRustCrate + (profileName: rec { + name = "deranged"; + version = "0.3.11"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "powerfmt" ] + [ "std" ] + ]; + dependencies = { + powerfmt = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".powerfmt."0.2.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" = + overridableMkRustCrate + (profileName: rec { + name = "digest"; + version = "0.10.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "block-buffer" ] + [ "const-oid" ] + [ "core-api" ] + [ "default" ] + [ "mac" ] + [ "oid" ] + [ "std" ] + [ "subtle" ] + ]; + dependencies = { + block_buffer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".block-buffer."0.10.4" { + inherit profileName; + }).out; + const_oid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".const-oid."0.9.6" { + inherit profileName; + }).out; + crypto_common = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crypto-common."0.1.6" { + inherit profileName; + }).out; + subtle = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".subtle."2.6.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" = + overridableMkRustCrate + (profileName: rec { + name = "displaydoc"; + version = "0.2.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".dotenvy."0.15.7" = + overridableMkRustCrate + (profileName: rec { + name = "dotenvy"; + version = "0.15.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".dunce."1.0.5" = + overridableMkRustCrate + (profileName: rec { + name = "dunce"; + version = "1.0.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" = + overridableMkRustCrate + (profileName: rec { + name = "either"; + version = "1.13.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "serde" ] + [ "use_std" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".equivalent."1.0.1" = + overridableMkRustCrate + (profileName: rec { + name = "equivalent"; + version = "1.0.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".errno."0.3.9" = + overridableMkRustCrate + (profileName: rec { + name = "errno"; + version = "0.3.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + dependencies = { + ${ + if + hostPlatform.isUnix + || hostPlatform.parsed.kernel.name == "hermit" + || hostPlatform.parsed.kernel.name == "wasi" + then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".etcetera."0.8.0" = + overridableMkRustCrate + (profileName: rec { + name = "etcetera"; + version = "0.8.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + home = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".home."0.5.9" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".event-listener."5.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "event-listener"; + version = "5.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "parking" ] + [ "std" ] + ]; + dependencies = { + concurrent_queue = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".concurrent-queue."2.5.0" { + inherit profileName; + }).out; + parking = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking."2.2.1" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" = + overridableMkRustCrate + (profileName: rec { + name = "eyre"; + version = "0.6.12"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"; + }; + features = builtins.concatLists [ + [ "auto-install" ] + [ "default" ] + [ "track-caller" ] + ]; + dependencies = { + indenter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indenter."0.3.3" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".fastrand."2.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "fastrand"; + version = "2.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".findshlibs."0.10.2" = + overridableMkRustCrate + (profileName: rec { + name = "findshlibs"; + version = "0.10.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64"; + }; + dependencies = { + ${ + if hostPlatform.parsed.kernel.name == "darwin" || hostPlatform.parsed.kernel.name == "ios" then + "lazy_static" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.5.0" { + inherit profileName; + }).out; + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "windows" then "winapi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { + inherit profileName; + }).out; + }; + buildDependencies = { + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".flume."0.11.1" = + overridableMkRustCrate + (profileName: rec { + name = "flume"; + version = "0.11.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"; + }; + features = builtins.concatLists [ + [ "async" ] + [ "futures-core" ] + [ "futures-sink" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_sink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" { + inherit profileName; + }).out; + spin1 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spin."0.9.8" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".fnv."1.0.7" = + overridableMkRustCrate + (profileName: rec { + name = "fnv"; + version = "1.0.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".form_urlencoded."1.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "form_urlencoded"; + version = "1.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + dependencies = { + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".fs_extra."1.3.0" = + overridableMkRustCrate + (profileName: rec { + name = "fs_extra"; + version = "1.3.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-channel"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "futures-sink" ] + [ "sink" ] + [ "std" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_sink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-core"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-executor."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-executor"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_task = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-task."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-intrusive."0.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "futures-intrusive"; + version = "0.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "parking_lot" ] + [ "std" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + lock_api = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.12" { + inherit profileName; + }).out; + parking_lot = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot."0.12.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-io."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-io"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-sink"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-task."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-task"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "futures-util"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "futures-io" ] + [ "futures-sink" ] + [ "io" ] + [ "memchr" ] + [ "sink" ] + [ "slab" ] + [ "std" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_io = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-io."0.3.31" { + inherit profileName; + }).out; + futures_sink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" { + inherit profileName; + }).out; + futures_task = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-task."0.3.31" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + pin_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-utils."0.1.0" { + inherit profileName; + }).out; + slab = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".generic-array."0.14.7" = + overridableMkRustCrate + (profileName: rec { + name = "generic-array"; + version = "0.14.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"; + }; + features = builtins.concatLists [ + [ "more_lengths" ] + ]; + dependencies = { + typenum = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".typenum."1.17.0" { + inherit profileName; + }).out; + }; + buildDependencies = { + version_check = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".version_check."0.9.5" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".getrandom."0.2.15" = + overridableMkRustCrate + (profileName: rec { + name = "getrandom"; + version = "0.2.15"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"; + }; + features = builtins.concatLists [ + [ "js" ] + [ "js-sys" ] + [ "std" ] + [ "wasm-bindgen" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${ + if + (hostPlatform.parsed.cpu.name == "wasm32" || hostPlatform.parsed.cpu.name == "wasm64") + && hostPlatform.parsed.kernel.name == "unknown" + then + "js_sys" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "wasi" then "wasi" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasi."0.11.0+wasi-snapshot-preview1" + { inherit profileName; } + ).out; + ${ + if + (hostPlatform.parsed.cpu.name == "wasm32" || hostPlatform.parsed.cpu.name == "wasm64") + && hostPlatform.parsed.kernel.name == "unknown" + then + "wasm_bindgen" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".gimli."0.28.1" = + overridableMkRustCrate + (profileName: rec { + name = "gimli"; + version = "0.28.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"; + }; + features = builtins.concatLists [ + [ "read" ] + [ "read-core" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".glob."0.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "glob"; + version = "0.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".h2."0.4.7" = + overridableMkRustCrate + (profileName: rec { + name = "h2"; + version = "0.4.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e"; + }; + dependencies = { + atomic_waker = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atomic-waker."1.1.2" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + fnv = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".fnv."1.0.7" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_sink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + indexmap = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indexmap."2.6.0" { + inherit profileName; + }).out; + slab = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tokio_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-util."0.7.12" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.5" = + overridableMkRustCrate + (profileName: rec { + name = "hashbrown"; + version = "0.14.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"; + }; + features = builtins.concatLists [ + [ "ahash" ] + [ "allocator-api2" ] + [ "default" ] + [ "inline-more" ] + ]; + dependencies = { + ahash = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ahash."0.8.11" { + inherit profileName; + }).out; + allocator_api2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".allocator-api2."0.2.20" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.15.2" = + overridableMkRustCrate + (profileName: rec { + name = "hashbrown"; + version = "0.15.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hashlink."0.9.1" = + overridableMkRustCrate + (profileName: rec { + name = "hashlink"; + version = "0.9.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"; + }; + dependencies = { + hashbrown = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".heck."0.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "heck"; + version = "0.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.1.19" = + overridableMkRustCrate + (profileName: rec { + name = "hermit-abi"; + version = "0.1.19"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.9" = + overridableMkRustCrate + (profileName: rec { + name = "hermit-abi"; + version = "0.3.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" = + overridableMkRustCrate + (profileName: rec { + name = "hex"; + version = "0.4.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hkdf."0.12.4" = + overridableMkRustCrate + (profileName: rec { + name = "hkdf"; + version = "0.12.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"; + }; + dependencies = { + hmac = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hmac."0.12.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hmac."0.12.1" = + overridableMkRustCrate + (profileName: rec { + name = "hmac"; + version = "0.12.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"; + }; + features = builtins.concatLists [ + [ "reset" ] + ]; + dependencies = { + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".home."0.5.9" = + overridableMkRustCrate + (profileName: rec { + name = "home"; + version = "0.5.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"; + }; + dependencies = { + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hostname."0.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "hostname"; + version = "0.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "redox" then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "windows" then "windows" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "http"; + version = "1.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + fnv = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".fnv."1.0.7" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" = + overridableMkRustCrate + (profileName: rec { + name = "http-body"; + version = "1.0.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"; + }; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" = + overridableMkRustCrate + (profileName: rec { + name = "http-body-util"; + version = "0.1.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"; + }; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".httparse."1.9.5" = + overridableMkRustCrate + (profileName: rec { + name = "httparse"; + version = "1.9.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".httpdate."1.0.3" = + overridableMkRustCrate + (profileName: rec { + name = "httpdate"; + version = "1.0.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" = + overridableMkRustCrate + (profileName: rec { + name = "hyper"; + version = "1.5.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f"; + }; + features = builtins.concatLists [ + [ "client" ] + [ "default" ] + [ "http1" ] + [ "http2" ] + [ "server" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + h2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".h2."0.4.7" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + httparse = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".httparse."1.9.5" { + inherit profileName; + }).out; + httpdate = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".httpdate."1.0.3" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + want = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".want."0.3.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hyper-rustls."0.27.3" = + overridableMkRustCrate + (profileName: rec { + name = "hyper-rustls"; + version = "0.27.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"; + }; + features = builtins.concatLists [ + [ "http1" ] + [ "ring" ] + [ "tls12" ] + [ "webpki-roots" ] + [ "webpki-tokio" ] + ]; + dependencies = { + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + hyper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" { + inherit profileName; + }).out; + hyper_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper-util."0.1.10" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tokio_rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-rustls."0.26.0" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + webpki_roots = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".webpki-roots."0.26.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".hyper-util."0.1.10" = + overridableMkRustCrate + (profileName: rec { + name = "hyper-util"; + version = "0.1.10"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"; + }; + features = builtins.concatLists [ + [ "client" ] + [ "client-legacy" ] + [ "default" ] + [ "http1" ] + [ "http2" ] + [ "server" ] + [ "server-auto" ] + [ "service" ] + [ "tokio" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + hyper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + socket2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.7" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_collections."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_collections"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"; + }; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + yoke = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".yoke."0.7.5" { + inherit profileName; + }).out; + zerofrom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerofrom."0.1.5" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_locid."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_locid"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"; + }; + features = builtins.concatLists [ + [ "zerovec" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + litemap = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".litemap."0.7.4" { + inherit profileName; + }).out; + tinystr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinystr."0.7.6" { + inherit profileName; + }).out; + writeable = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".writeable."0.5.5" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_locid_transform."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_locid_transform"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"; + }; + features = builtins.concatLists [ + [ "compiled_data" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + icu_locid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_locid."1.5.0" { + inherit profileName; + }).out; + icu_locid_transform_data = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_locid_transform_data."1.5.0" + { inherit profileName; } + ).out; + icu_provider = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_provider."1.5.0" { + inherit profileName; + }).out; + tinystr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinystr."0.7.6" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_locid_transform_data."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_locid_transform_data"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_normalizer."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_normalizer"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"; + }; + features = builtins.concatLists [ + [ "compiled_data" ] + [ "default" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + icu_collections = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_collections."1.5.0" { + inherit profileName; + }).out; + icu_normalizer_data = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_normalizer_data."1.5.0" { + inherit profileName; + }).out; + icu_properties = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_properties."1.5.1" { + inherit profileName; + }).out; + icu_provider = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_provider."1.5.0" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + utf16_iter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".utf16_iter."1.0.5" { + inherit profileName; + }).out; + utf8_iter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".utf8_iter."1.0.4" { + inherit profileName; + }).out; + write16 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".write16."1.0.0" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_normalizer_data."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_normalizer_data"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_properties."1.5.1" = + overridableMkRustCrate + (profileName: rec { + name = "icu_properties"; + version = "1.5.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"; + }; + features = builtins.concatLists [ + [ "compiled_data" ] + [ "default" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + icu_collections = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_collections."1.5.0" { + inherit profileName; + }).out; + icu_locid_transform = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_locid_transform."1.5.0" { + inherit profileName; + }).out; + icu_properties_data = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_properties_data."1.5.0" { + inherit profileName; + }).out; + icu_provider = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_provider."1.5.0" { + inherit profileName; + }).out; + tinystr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinystr."0.7.6" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_properties_data."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_properties_data"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_provider."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_provider"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"; + }; + features = builtins.concatLists [ + [ "macros" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + icu_locid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_locid."1.5.0" { + inherit profileName; + }).out; + icu_provider_macros = + ( + buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_provider_macros."1.5.0" + { profileName = "__noProfile"; } + ).out; + stable_deref_trait = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".stable_deref_trait."1.2.0" { + inherit profileName; + }).out; + tinystr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinystr."0.7.6" { + inherit profileName; + }).out; + writeable = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".writeable."0.5.5" { + inherit profileName; + }).out; + yoke = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".yoke."0.7.5" { + inherit profileName; + }).out; + zerofrom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerofrom."0.1.5" { + inherit profileName; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".icu_provider_macros."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "icu_provider_macros"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".idna."1.0.3" = + overridableMkRustCrate + (profileName: rec { + name = "idna"; + version = "1.0.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "compiled_data" ] + [ "std" ] + ]; + dependencies = { + idna_adapter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".idna_adapter."1.2.0" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + utf8_iter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".utf8_iter."1.0.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".idna_adapter."1.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "idna_adapter"; + version = "1.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"; + }; + features = builtins.concatLists [ + [ "compiled_data" ] + ]; + dependencies = { + icu_normalizer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_normalizer."1.5.0" { + inherit profileName; + }).out; + icu_properties = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".icu_properties."1.5.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".indenter."0.3.3" = + overridableMkRustCrate + (profileName: rec { + name = "indenter"; + version = "0.3.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".indexmap."2.6.0" = + overridableMkRustCrate + (profileName: rec { + name = "indexmap"; + version = "2.6.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + equivalent = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".equivalent."1.0.1" { + inherit profileName; + }).out; + hashbrown = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.15.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ipnet."2.10.1" = + overridableMkRustCrate + (profileName: rec { + name = "ipnet"; + version = "2.10.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".itertools."0.12.1" = + overridableMkRustCrate + (profileName: rec { + name = "itertools"; + version = "0.12.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"; + }; + dependencies = { + either = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" = + overridableMkRustCrate + (profileName: rec { + name = "itoa"; + version = "1.0.14"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".jobserver."0.1.32" = + overridableMkRustCrate + (profileName: rec { + name = "jobserver"; + version = "0.1.32"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"; + }; + dependencies = { + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" = + overridableMkRustCrate + (profileName: rec { + name = "js-sys"; + version = "0.3.72"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"; + }; + dependencies = { + wasm_bindgen = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "lazy_static"; + version = "1.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"; + }; + features = builtins.concatLists [ + [ "spin" ] + [ "spin_no_std" ] + ]; + dependencies = { + spin = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spin."0.9.8" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".lazycell."1.3.0" = + overridableMkRustCrate + (profileName: rec { + name = "lazycell"; + version = "1.3.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" = + overridableMkRustCrate + (profileName: rec { + name = "libc"; + version = "0.2.165"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "fcb4d3d38eab6c5239a362fa8bae48c03baf980a6e7079f063942d563ef3533e"; + }; + features = builtins.concatLists [ + [ "const-extern-fn" ] + [ "default" ] + [ "extra_traits" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".libloading."0.8.5" = + overridableMkRustCrate + (profileName: rec { + name = "libloading"; + version = "0.8.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"; + }; + dependencies = { + ${if hostPlatform.isUnix then "cfg_if" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_targets" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".libm."0.2.11" = + overridableMkRustCrate + (profileName: rec { + name = "libm"; + version = "0.2.11"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".libsqlite3-sys."0.30.1" = + overridableMkRustCrate + (profileName: rec { + name = "libsqlite3-sys"; + version = "0.30.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"; + }; + features = builtins.concatLists [ + [ "bundled" ] + [ "bundled_bindings" ] + [ "cc" ] + [ "pkg-config" ] + [ "unlock_notify" ] + [ "vcpkg" ] + ]; + buildDependencies = { + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + pkg_config = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".pkg-config."0.3.31" { + profileName = "__noProfile"; + }).out; + vcpkg = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".vcpkg."0.2.15" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".linux-raw-sys."0.4.14" = + overridableMkRustCrate + (profileName: rec { + name = "linux-raw-sys"; + version = "0.4.14"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"; + }; + features = builtins.concatLists [ + [ "elf" ] + [ "errno" ] + [ "general" ] + [ "ioctl" ] + [ "no_std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".litemap."0.7.4" = + overridableMkRustCrate + (profileName: rec { + name = "litemap"; + version = "0.7.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.12" = + overridableMkRustCrate + (profileName: rec { + name = "lock_api"; + version = "0.4.12"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"; + }; + features = builtins.concatLists [ + [ "atomic_usize" ] + [ "default" ] + ]; + dependencies = { + scopeguard = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".scopeguard."1.2.0" { + inherit profileName; + }).out; + }; + buildDependencies = { + autocfg = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".autocfg."1.4.0" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" = + overridableMkRustCrate + (profileName: rec { + name = "log"; + version = "0.4.22"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".matchers."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "matchers"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"; + }; + dependencies = { + regex_automata = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.1.10" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".matchit."0.7.3" = + overridableMkRustCrate + (profileName: rec { + name = "matchit"; + version = "0.7.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".md-5."0.10.6" = + overridableMkRustCrate + (profileName: rec { + name = "md-5"; + version = "0.10.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" = + overridableMkRustCrate + (profileName: rec { + name = "memchr"; + version = "2.7.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".metrics."0.23.0" = + overridableMkRustCrate + (profileName: rec { + name = "metrics"; + version = "0.23.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"; + }; + dependencies = { + ahash = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ahash."0.8.11" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.cpu.bits == 32 then "portable_atomic" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".portable-atomic."1.10.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".metrics-exporter-prometheus."0.15.3" = + overridableMkRustCrate + (profileName: rec { + name = "metrics-exporter-prometheus"; + version = "0.15.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6"; + }; + features = builtins.concatLists [ + [ "_hyper-server" ] + [ "async-runtime" ] + [ "http-body-util" ] + [ "http-listener" ] + [ "hyper" ] + [ "hyper-util" ] + [ "ipnet" ] + [ "tokio" ] + [ "tracing" ] + ]; + dependencies = { + base64 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" { + inherit profileName; + }).out; + http_body_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" { + inherit profileName; + }).out; + hyper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" { + inherit profileName; + }).out; + hyper_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper-util."0.1.10" { + inherit profileName; + }).out; + indexmap = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indexmap."2.6.0" { + inherit profileName; + }).out; + ipnet = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ipnet."2.10.1" { + inherit profileName; + }).out; + metrics = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".metrics."0.23.0" { + inherit profileName; + }).out; + metrics_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".metrics-util."0.17.0" { + inherit profileName; + }).out; + quanta = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quanta."0.12.3" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".metrics-util."0.17.0" = + overridableMkRustCrate + (profileName: rec { + name = "metrics-util"; + version = "0.17.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"; + }; + features = builtins.concatLists [ + [ "crossbeam-epoch" ] + [ "crossbeam-utils" ] + [ "handles" ] + [ "hashbrown" ] + [ "num_cpus" ] + [ "quanta" ] + [ "recency" ] + [ "registry" ] + [ "sketches-ddsketch" ] + [ "summary" ] + ]; + dependencies = { + crossbeam_epoch = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-epoch."0.9.18" { + inherit profileName; + }).out; + crossbeam_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" { + inherit profileName; + }).out; + hashbrown = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.5" { + inherit profileName; + }).out; + metrics = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".metrics."0.23.0" { + inherit profileName; + }).out; + num_cpus = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num_cpus."1.16.0" { + inherit profileName; + }).out; + quanta = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quanta."0.12.3" { + inherit profileName; + }).out; + sketches_ddsketch = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sketches-ddsketch."0.2.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".mime."0.3.17" = + overridableMkRustCrate + (profileName: rec { + name = "mime"; + version = "0.3.17"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".minimal-lexical."0.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "minimal-lexical"; + version = "0.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".miniz_oxide."0.7.4" = + overridableMkRustCrate + (profileName: rec { + name = "miniz_oxide"; + version = "0.7.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"; + }; + dependencies = { + adler = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".adler."1.0.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".mio."1.0.2" = + overridableMkRustCrate + (profileName: rec { + name = "mio"; + version = "1.0.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"; + }; + features = builtins.concatLists [ + [ "net" ] + [ "os-ext" ] + [ "os-poll" ] + ]; + dependencies = { + ${if hostPlatform.parsed.kernel.name == "hermit" then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.9" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "wasi" then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "wasi" then "wasi" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasi."0.11.0+wasi-snapshot-preview1" + { inherit profileName; } + ).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".nom."7.1.3" = + overridableMkRustCrate + (profileName: rec { + name = "nom"; + version = "7.1.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + dependencies = { + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + minimal_lexical = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".minimal-lexical."0.2.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".nu-ansi-term."0.46.0" = + overridableMkRustCrate + (profileName: rec { + name = "nu-ansi-term"; + version = "0.46.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"; + }; + dependencies = { + overload = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".overload."0.1.1" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "windows" then "winapi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num-bigint-dig."0.8.4" = + overridableMkRustCrate + (profileName: rec { + name = "num-bigint-dig"; + version = "0.8.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"; + }; + features = builtins.concatLists [ + [ "i128" ] + [ "prime" ] + [ "rand" ] + [ "u64_digit" ] + [ "zeroize" ] + ]; + dependencies = { + byteorder = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" { + inherit profileName; + }).out; + lazy_static = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.5.0" { + inherit profileName; + }).out; + libm = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libm."0.2.11" { + inherit profileName; + }).out; + num_integer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.46" { + inherit profileName; + }).out; + num_iter = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-iter."0.1.45" { + inherit profileName; + }).out; + num_traits = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num-conv."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "num-conv"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.46" = + overridableMkRustCrate + (profileName: rec { + name = "num-integer"; + version = "0.1.46"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"; + }; + features = builtins.concatLists [ + [ "i128" ] + ]; + dependencies = { + num_traits = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num-iter."0.1.45" = + overridableMkRustCrate + (profileName: rec { + name = "num-iter"; + version = "0.1.45"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"; + }; + dependencies = { + num_integer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.46" { + inherit profileName; + }).out; + num_traits = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" { + inherit profileName; + }).out; + }; + buildDependencies = { + autocfg = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".autocfg."1.4.0" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" = + overridableMkRustCrate + (profileName: rec { + name = "num-traits"; + version = "0.2.19"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"; + }; + features = builtins.concatLists [ + [ "i128" ] + [ "libm" ] + [ "std" ] + ]; + dependencies = { + libm = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libm."0.2.11" { + inherit profileName; + }).out; + }; + buildDependencies = { + autocfg = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".autocfg."1.4.0" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".num_cpus."1.16.0" = + overridableMkRustCrate + (profileName: rec { + name = "num_cpus"; + version = "1.16.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"; + }; + dependencies = { + ${if hostPlatform.parsed.kernel.name == "hermit" then "hermit_abi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.9" { + inherit profileName; + }).out; + ${if !hostPlatform.isWindows then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".object."0.32.2" = + overridableMkRustCrate + (profileName: rec { + name = "object"; + version = "0.32.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"; + }; + features = builtins.concatLists [ + [ "archive" ] + [ "coff" ] + [ "elf" ] + [ "macho" ] + [ "pe" ] + [ "read_core" ] + [ "unaligned" ] + [ "xcoff" ] + ]; + dependencies = { + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" = + overridableMkRustCrate + (profileName: rec { + name = "once_cell"; + version = "1.20.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "race" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".os_info."3.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "os_info"; + version = "3.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "serde" ] + ]; + dependencies = { + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".overload."0.1.1" = + overridableMkRustCrate + (profileName: rec { + name = "overload"; + version = "0.1.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".owo-colors."3.5.0" = + overridableMkRustCrate + (profileName: rec { + name = "owo-colors"; + version = "3.5.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".parking."2.2.1" = + overridableMkRustCrate + (profileName: rec { + name = "parking"; + version = "2.2.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".parking_lot."0.12.3" = + overridableMkRustCrate + (profileName: rec { + name = "parking_lot"; + version = "0.12.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + lock_api = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.12" { + inherit profileName; + }).out; + parking_lot_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot_core."0.9.10" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".parking_lot_core."0.9.10" = + overridableMkRustCrate + (profileName: rec { + name = "parking_lot_core"; + version = "0.9.10"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "redox" then "syscall" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.5.7" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_targets" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".paste."1.0.15" = + overridableMkRustCrate + (profileName: rec { + name = "paste"; + version = "1.0.15"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pem-rfc7468."0.7.0" = + overridableMkRustCrate + (profileName: rec { + name = "pem-rfc7468"; + version = "0.7.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + dependencies = { + base64ct = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64ct."1.6.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "percent-encoding"; + version = "2.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pin-project."1.1.7" = + overridableMkRustCrate + (profileName: rec { + name = "pin-project"; + version = "1.1.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95"; + }; + dependencies = { + pin_project_internal = + ( + buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-internal."1.1.7" + { profileName = "__noProfile"; } + ).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pin-project-internal."1.1.7" = + overridableMkRustCrate + (profileName: rec { + name = "pin-project-internal"; + version = "1.1.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" = + overridableMkRustCrate + (profileName: rec { + name = "pin-project-lite"; + version = "0.2.15"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pin-utils."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "pin-utils"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pkcs1."0.7.5" = + overridableMkRustCrate + (profileName: rec { + name = "pkcs1"; + version = "0.7.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "pem" ] + [ "pkcs8" ] + [ "std" ] + [ "zeroize" ] + ]; + dependencies = { + der = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".der."0.7.9" { + inherit profileName; + }).out; + pkcs8 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pkcs8."0.10.2" { + inherit profileName; + }).out; + spki = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spki."0.7.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pkcs8."0.10.2" = + overridableMkRustCrate + (profileName: rec { + name = "pkcs8"; + version = "0.10.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "pem" ] + [ "std" ] + ]; + dependencies = { + der = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".der."0.7.9" { + inherit profileName; + }).out; + spki = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spki."0.7.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".pkg-config."0.3.31" = + overridableMkRustCrate + (profileName: rec { + name = "pkg-config"; + version = "0.3.31"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".portable-atomic."1.10.0" = + overridableMkRustCrate + (profileName: rec { + name = "portable-atomic"; + version = "1.10.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"; + }; + features = builtins.concatLists [ + [ "fallback" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".powerfmt."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "powerfmt"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ppv-lite86."0.2.20" = + overridableMkRustCrate + (profileName: rec { + name = "ppv-lite86"; + version = "0.2.20"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"; + }; + features = builtins.concatLists [ + [ "simd" ] + [ "std" ] + ]; + dependencies = { + zerocopy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy."0.7.35" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".prettyplease."0.2.25" = + overridableMkRustCrate + (profileName: rec { + name = "prettyplease"; + version = "0.2.25"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"; + }; + features = builtins.concatLists [ + [ "verbatim" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" = + overridableMkRustCrate + (profileName: rec { + name = "proc-macro2"; + version = "1.0.92"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "proc-macro" ] + ]; + dependencies = { + unicode_ident = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode-ident."1.0.14" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".quanta."0.12.3" = + overridableMkRustCrate + (profileName: rec { + name = "quanta"; + version = "0.12.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"; + }; + dependencies = { + crossbeam_utils = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-utils."0.8.20" { + inherit profileName; + }).out; + ${ + if !(hostPlatform.parsed.kernel.name == "windows" || hostPlatform.parsed.cpu.name == "wasm32") then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" then + "raw_cpuid" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".raw-cpuid."11.2.0" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "wasm32" && hostPlatform.parsed.kernel.name == "wasi" then + "wasi" + else + null + } = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasi."0.11.0+wasi-snapshot-preview1" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "wasm32" && hostPlatform.parsed.kernel.name == "unknown" then + "web_sys" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".web-sys."0.3.72" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "windows" then "winapi" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".quinn."0.11.6" = + overridableMkRustCrate + (profileName: rec { + name = "quinn"; + version = "0.11.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef"; + }; + features = builtins.concatLists [ + [ "ring" ] + [ "runtime-tokio" ] + [ "rustls" ] + [ "rustls-ring" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + proto = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quinn-proto."0.11.9" { + inherit profileName; + }).out; + udp = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quinn-udp."0.5.7" { + inherit profileName; + }).out; + rustc_hash = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustc-hash."2.0.0" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + socket2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.7" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."2.0.3" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".quinn-proto."0.11.9" = + overridableMkRustCrate + (profileName: rec { + name = "quinn-proto"; + version = "0.11.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d"; + }; + features = builtins.concatLists [ + [ "ring" ] + [ "rustls-ring" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + ${if false then "getrandom" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".getrandom."0.2.15" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + ring = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ring."0.17.8" { + inherit profileName; + }).out; + rustc_hash = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustc-hash."2.0.0" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + ${if false then "rustls_pki_types" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + slab = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."2.0.3" { + inherit profileName; + }).out; + tinyvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinyvec."1.8.0" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + ${if false then "web_time" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".web-time."1.1.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".quinn-udp."0.5.7" = + overridableMkRustCrate + (profileName: rec { + name = "quinn-udp"; + version = "0.5.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da"; + }; + features = builtins.concatLists [ + [ "tracing" ] + ]; + dependencies = { + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "once_cell" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + socket2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.7" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.59.0" { + inherit profileName; + }).out; + }; + buildDependencies = { + cfg_aliases = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg_aliases."0.2.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" = + overridableMkRustCrate + (profileName: rec { + name = "quote"; + version = "1.0.37"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "proc-macro" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" = + overridableMkRustCrate + (profileName: rec { + name = "rand"; + version = "0.8.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "getrandom" ] + [ "libc" ] + [ "rand_chacha" ] + [ "std" ] + [ "std_rng" ] + ]; + dependencies = { + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + rand_chacha = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand_chacha."0.3.1" { + inherit profileName; + }).out; + rand_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand_core."0.6.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rand_chacha."0.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "rand_chacha"; + version = "0.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"; + }; + features = builtins.concatLists [ + [ "std" ] + ]; + dependencies = { + ppv_lite86 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ppv-lite86."0.2.20" { + inherit profileName; + }).out; + rand_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand_core."0.6.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rand_core."0.6.4" = + overridableMkRustCrate + (profileName: rec { + name = "rand_core"; + version = "0.6.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "getrandom" ] + [ "std" ] + ]; + dependencies = { + getrandom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".getrandom."0.2.15" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".raw-cpuid."11.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "raw-cpuid"; + version = "11.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"; + }; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.5.7" = + overridableMkRustCrate + (profileName: rec { + name = "redox_syscall"; + version = "0.5.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "userspace" ] + ]; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".regex."1.11.1" = + overridableMkRustCrate + (profileName: rec { + name = "regex"; + version = "1.11.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "perf" ] + [ "perf-backtrack" ] + [ "perf-cache" ] + [ "perf-dfa" ] + [ "perf-inline" ] + [ "perf-literal" ] + [ "perf-onepass" ] + [ "std" ] + [ "unicode" ] + [ "unicode-age" ] + [ "unicode-bool" ] + [ "unicode-case" ] + [ "unicode-gencat" ] + [ "unicode-perl" ] + [ "unicode-script" ] + [ "unicode-segment" ] + ]; + dependencies = { + aho_corasick = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.3" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + regex_automata = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.4.9" { + inherit profileName; + }).out; + regex_syntax = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.8.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.1.10" = + overridableMkRustCrate + (profileName: rec { + name = "regex-automata"; + version = "0.1.10"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "regex-syntax" ] + [ "std" ] + ]; + dependencies = { + regex_syntax = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.6.29" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.4.9" = + overridableMkRustCrate + (profileName: rec { + name = "regex-automata"; + version = "0.4.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "dfa-onepass" ] + [ "hybrid" ] + [ "meta" ] + [ "nfa-backtrack" ] + [ "nfa-pikevm" ] + [ "nfa-thompson" ] + [ "perf-inline" ] + [ "perf-literal" ] + [ "perf-literal-multisubstring" ] + [ "perf-literal-substring" ] + [ "std" ] + [ "syntax" ] + [ "unicode" ] + [ "unicode-age" ] + [ "unicode-bool" ] + [ "unicode-case" ] + [ "unicode-gencat" ] + [ "unicode-perl" ] + [ "unicode-script" ] + [ "unicode-segment" ] + [ "unicode-word-boundary" ] + ]; + dependencies = { + aho_corasick = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.3" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + regex_syntax = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.8.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.6.29" = + overridableMkRustCrate + (profileName: rec { + name = "regex-syntax"; + version = "0.6.29"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "unicode" ] + [ "unicode-age" ] + [ "unicode-bool" ] + [ "unicode-case" ] + [ "unicode-gencat" ] + [ "unicode-perl" ] + [ "unicode-script" ] + [ "unicode-segment" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.8.5" = + overridableMkRustCrate + (profileName: rec { + name = "regex-syntax"; + version = "0.8.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + [ "unicode" ] + [ "unicode-age" ] + [ "unicode-bool" ] + [ "unicode-case" ] + [ "unicode-gencat" ] + [ "unicode-perl" ] + [ "unicode-script" ] + [ "unicode-segment" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".reqwest."0.12.9" = + overridableMkRustCrate + (profileName: rec { + name = "reqwest"; + version = "0.12.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"; + }; + features = builtins.concatLists [ + [ "__rustls" ] + [ "__rustls-ring" ] + [ "__tls" ] + [ "blocking" ] + [ "json" ] + [ "rustls-tls" ] + [ "rustls-tls-webpki-roots" ] + [ "rustls-tls-webpki-roots-no-provider" ] + ]; + dependencies = { + base64 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "futures_channel" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "http_body" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "http_body_util" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "hyper" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper."1.5.1" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "hyper_rustls" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper-rustls."0.27.3" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "hyper_util" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hyper-util."0.1.10" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "ipnet" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ipnet."2.10.1" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.cpu.name == "wasm32" then "js_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "log" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "mime" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".mime."0.3.17" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "once_cell" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "percent_encoding" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "pin_project_lite" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "quinn" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quinn."0.11.6" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "rustls" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "rustls_pemfile" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pemfile."2.2.0" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "rustls_pki_types" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + serde_urlencoded = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_urlencoded."0.7.1" { + inherit profileName; + }).out; + sync_wrapper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."1.0.2" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "tokio" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "tokio_rustls" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-rustls."0.26.0" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.cpu.name == "wasm32" then "wasm_bindgen" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.cpu.name == "wasm32" then "wasm_bindgen_futures" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-futures."0.4.45" + { inherit profileName; } + ).out; + ${if hostPlatform.parsed.cpu.name == "wasm32" then "web_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".web-sys."0.3.72" { + inherit profileName; + }).out; + ${if !(hostPlatform.parsed.cpu.name == "wasm32") then "webpki_roots" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".webpki-roots."0.26.7" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_registry" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-registry."0.2.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ring."0.17.8" = + overridableMkRustCrate + (profileName: rec { + name = "ring"; + version = "0.17.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "dev_urandom_fallback" ] + [ "wasm32_unknown_unknown_js" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + getrandom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".getrandom."0.2.15" { + inherit profileName; + }).out; + ${ + if + (hostPlatform.parsed.kernel.name == "android" || hostPlatform.parsed.kernel.name == "linux") + && ( + hostPlatform.parsed.cpu.name == "aarch64" + || hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + ) + then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.cpu.name == "aarch64" + || hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" + then + "spin" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spin."0.9.8" { + inherit profileName; + }).out; + untrusted = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".untrusted."0.9.0" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.kernel.name == "windows" then + "windows_sys" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + buildDependencies = { + cc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.2.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rsa."0.9.6" = + overridableMkRustCrate + (profileName: rec { + name = "rsa"; + version = "0.9.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "pem" ] + [ "std" ] + [ "u64_digit" ] + ]; + dependencies = { + const_oid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".const-oid."0.9.6" { + inherit profileName; + }).out; + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + num_bigint = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-bigint-dig."0.8.4" { + inherit profileName; + }).out; + num_integer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.46" { + inherit profileName; + }).out; + num_traits = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.19" { + inherit profileName; + }).out; + pkcs1 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pkcs1."0.7.5" { + inherit profileName; + }).out; + pkcs8 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pkcs8."0.10.2" { + inherit profileName; + }).out; + rand_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand_core."0.6.4" { + inherit profileName; + }).out; + signature = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".signature."2.2.0" { + inherit profileName; + }).out; + spki = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".spki."0.7.3" { + inherit profileName; + }).out; + subtle = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".subtle."2.6.1" { + inherit profileName; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustc-demangle."0.1.24" = + overridableMkRustCrate + (profileName: rec { + name = "rustc-demangle"; + version = "0.1.24"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustc-hash."1.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "rustc-hash"; + version = "1.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustc-hash."2.0.0" = + overridableMkRustCrate + (profileName: rec { + name = "rustc-hash"; + version = "2.0.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustc_version."0.4.1" = + overridableMkRustCrate + (profileName: rec { + name = "rustc_version"; + version = "0.4.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"; + }; + dependencies = { + semver = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".semver."1.0.23" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.41" = + overridableMkRustCrate + (profileName: rec { + name = "rustix"; + version = "0.38.41"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "fs" ] + [ "libc-extra-traits" ] + [ "std" ] + [ "use-libc-auxv" ] + ]; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + || + !hostPlatform.isWindows + && !( + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + ) + || hostPlatform.isWindows + then + "libc_errno" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".errno."0.3.9" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + || + !hostPlatform.isWindows + && !( + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + ) + then + "libc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + || + (hostPlatform.parsed.kernel.name == "android" || hostPlatform.parsed.kernel.name == "linux") + && !( + hostPlatform.parsed.kernel.name == "linux" + && ( + hostPlatform.parsed.cpu.significantByte == "littleEndian" || hostPlatform.parsed.cpu.name == "s390x" + ) + && ( + hostPlatform.parsed.cpu.name == "armv6l" + || hostPlatform.parsed.cpu.name == "armv7l" + || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 + || hostPlatform.parsed.cpu.name == "riscv64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64 + ) + ) + then + "linux_raw_sys" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".linux-raw-sys."0.4.14" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustls."0.22.4" = + overridableMkRustCrate + (profileName: rec { + name = "rustls"; + version = "0.22.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "log" ] + [ "logging" ] + [ "ring" ] + [ "tls12" ] + ]; + dependencies = { + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + ring = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ring."0.17.8" { + inherit profileName; + }).out; + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + webpki = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-webpki."0.102.8" { + inherit profileName; + }).out; + subtle = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".subtle."2.6.1" { + inherit profileName; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" = + overridableMkRustCrate + (profileName: rec { + name = "rustls"; + version = "0.23.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f"; + }; + features = builtins.concatLists [ + [ "aws_lc_rs" ] + [ "default" ] + [ "log" ] + [ "logging" ] + [ "ring" ] + [ "std" ] + [ "tls12" ] + ]; + dependencies = { + aws_lc_rs = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".aws-lc-rs."1.11.1" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + ring = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ring."0.17.8" { + inherit profileName; + }).out; + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + webpki = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-webpki."0.102.8" { + inherit profileName; + }).out; + subtle = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".subtle."2.6.1" { + inherit profileName; + }).out; + zeroize = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustls-pemfile."2.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "rustls-pemfile"; + version = "2.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" = + overridableMkRustCrate + (profileName: rec { + name = "rustls-pki-types"; + version = "1.10.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + [ "web" ] + [ "web-time" ] + ]; + dependencies = { + ${if false then "web_time" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".web-time."1.1.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustls-webpki."0.102.8" = + overridableMkRustCrate + (profileName: rec { + name = "rustls-webpki"; + version = "0.102.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "aws_lc_rs" ] + [ "ring" ] + [ "std" ] + ]; + dependencies = { + aws_lc_rs = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".aws-lc-rs."1.11.1" { + inherit profileName; + }).out; + ring = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ring."0.17.8" { + inherit profileName; + }).out; + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + untrusted = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".untrusted."0.9.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".rustversion."1.0.18" = + overridableMkRustCrate + (profileName: rec { + name = "rustversion"; + version = "1.0.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ryu."1.0.18" = + overridableMkRustCrate + (profileName: rec { + name = "ryu"; + version = "1.0.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".scopeguard."1.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "scopeguard"; + version = "1.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".semver."1.0.23" = + overridableMkRustCrate + (profileName: rec { + name = "semver"; + version = "1.0.23"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5484316556650182f03b43d4c746ce0e3e48074a21e2f51244b648b6542e1066"; + }; + features = builtins.concatLists [ + [ "backtrace" ] + [ "contexts" ] + [ "debug-images" ] + [ "httpdate" ] + [ "metrics" ] + [ "panic" ] + [ "reqwest" ] + [ "rustls" ] + [ "sentry-backtrace" ] + [ "sentry-contexts" ] + [ "sentry-debug-images" ] + [ "sentry-panic" ] + [ "tokio" ] + [ "webpki-roots" ] + ]; + dependencies = { + httpdate = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".httpdate."1.0.3" { + inherit profileName; + }).out; + reqwest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".reqwest."0.12.9" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.22.4" { + inherit profileName; + }).out; + sentry_backtrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-backtrace."0.34.0" { + inherit profileName; + }).out; + sentry_contexts = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-contexts."0.34.0" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + sentry_debug_images = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-debug-images."0.34.0" { + inherit profileName; + }).out; + sentry_panic = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-panic."0.34.0" { + inherit profileName; + }).out; + sentry_tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-tracing."0.34.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + ureq = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ureq."2.10.1" { + inherit profileName; + }).out; + webpki_roots = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".webpki-roots."0.26.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-backtrace."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-backtrace"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "40aa225bb41e2ec9d7c90886834367f560efc1af028f1c5478a6cce6a59c463a"; + }; + dependencies = { + backtrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.71" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + regex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.11.1" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-contexts."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-contexts"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1a8dd746da3d16cb8c39751619cefd4fcdbd6df9610f3310fd646b55f6e39910"; + }; + dependencies = { + hostname = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hostname."0.4.0" { + inherit profileName; + }).out; + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "os_info" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".os_info."3.8.2" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + ${if !hostPlatform.isWindows then "uname" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".uname."0.1.1" { + inherit profileName; + }).out; + }; + buildDependencies = { + rustc_version = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".rustc_version."0.4.1" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-core"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "161283cfe8e99c8f6f236a402b9ccf726b201f365988b5bb637ebca0abbd4a30"; + }; + features = builtins.concatLists [ + [ "client" ] + [ "crc32fast" ] + [ "default" ] + [ "metrics" ] + [ "rand" ] + [ "regex" ] + ]; + dependencies = { + crc32fast = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crc32fast."1.4.2" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + regex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.11.1" { + inherit profileName; + }).out; + sentry_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-types."0.34.0" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-debug-images."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-debug-images"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8fc6b25e945fcaa5e97c43faee0267eebda9f18d4b09a251775d8fef1086238a"; + }; + dependencies = { + findshlibs = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".findshlibs."0.10.2" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-eyre."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-eyre"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3ba221106f53abf085db8871c53cd325ba14f50b2ba18819d5e6db0f782ddc3f"; + }; + dependencies = { + eyre = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".eyre."0.6.12" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-panic."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-panic"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bc74f229c7186dd971a9491ffcbe7883544aa064d1589bd30b83fb856cd22d63"; + }; + dependencies = { + sentry_backtrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-backtrace."0.34.0" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-tower."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-tower"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6c90802b38c899a2c9e557dff25ad186362eddf755d5f5244001b172dd03bead"; + }; + features = builtins.concatLists [ + [ "axum" ] + [ "axum-matched-path" ] + [ "http" ] + [ "pin-project" ] + [ "url" ] + ]; + dependencies = { + axum = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".axum."0.7.9" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + pin_project = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project."1.1.7" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-tracing."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-tracing"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cd3c5faf2103cd01eeda779ea439b68c4ee15adcdb16600836e97feafab362ec"; + }; + features = builtins.concatLists [ + [ "backtrace" ] + [ "default" ] + ]; + dependencies = { + sentry_backtrace = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-backtrace."0.34.0" { + inherit profileName; + }).out; + sentry_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sentry-core."0.34.0" { + inherit profileName; + }).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + tracing_subscriber = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-subscriber."0.3.18" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sentry-types."0.34.0" = + overridableMkRustCrate + (profileName: rec { + name = "sentry-types"; + version = "0.34.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5d68cdf6bc41b8ff3ae2a9c4671e97426dcdd154cc1d4b6b72813f285d6b163f"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "metrics" ] + [ "protocol" ] + ]; + dependencies = { + debugid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".debugid."0.8.0" { + inherit profileName; + }).out; + hex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" { + inherit profileName; + }).out; + time = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".time."0.3.36" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + uuid = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".uuid."1.11.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" = + overridableMkRustCrate + (profileName: rec { + name = "serde"; + version = "1.0.215"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "derive" ] + [ "rc" ] + [ "serde_derive" ] + [ "std" ] + ]; + dependencies = { + serde_derive = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_derive."1.0.215" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde_derive."1.0.215" = + overridableMkRustCrate + (profileName: rec { + name = "serde_derive"; + version = "1.0.215"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" = + overridableMkRustCrate + (profileName: rec { + name = "serde_json"; + version = "1.0.133"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "raw_value" ] + [ "std" ] + ]; + dependencies = { + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + ryu = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ryu."1.0.18" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde_path_to_error."0.1.16" = + overridableMkRustCrate + (profileName: rec { + name = "serde_path_to_error"; + version = "0.1.16"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6"; + }; + dependencies = { + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde_spanned."0.6.8" = + overridableMkRustCrate + (profileName: rec { + name = "serde_spanned"; + version = "0.6.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"; + }; + features = builtins.concatLists [ + [ "serde" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".serde_urlencoded."0.7.1" = + overridableMkRustCrate + (profileName: rec { + name = "serde_urlencoded"; + version = "0.7.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"; + }; + dependencies = { + form_urlencoded = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".form_urlencoded."1.2.1" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + ryu = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".ryu."1.0.18" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sha1."0.10.6" = + overridableMkRustCrate + (profileName: rec { + name = "sha1"; + version = "0.10.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.cpu.name == "aarch64" + || hostPlatform.parsed.cpu.name == "i686" + || hostPlatform.parsed.cpu.name == "x86_64" + then + "cpufeatures" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cpufeatures."0.2.16" { + inherit profileName; + }).out; + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sha2."0.10.8" = + overridableMkRustCrate + (profileName: rec { + name = "sha2"; + version = "0.10.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + ${ + if + hostPlatform.parsed.cpu.name == "aarch64" + || hostPlatform.parsed.cpu.name == "x86_64" + || hostPlatform.parsed.cpu.name == "i686" + then + "cpufeatures" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cpufeatures."0.2.16" { + inherit profileName; + }).out; + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sharded-slab."0.1.7" = + overridableMkRustCrate + (profileName: rec { + name = "sharded-slab"; + version = "0.1.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"; + }; + dependencies = { + lazy_static = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.5.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".shlex."1.3.0" = + overridableMkRustCrate + (profileName: rec { + name = "shlex"; + version = "1.3.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".signature."2.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "signature"; + version = "2.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "digest" ] + [ "rand_core" ] + [ "std" ] + ]; + dependencies = { + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + rand_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand_core."0.6.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sketches-ddsketch."0.2.2" = + overridableMkRustCrate + (profileName: rec { + name = "sketches-ddsketch"; + version = "0.2.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" = + overridableMkRustCrate + (profileName: rec { + name = "slab"; + version = "0.4.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + buildDependencies = { + autocfg = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".autocfg."1.4.0" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" = + overridableMkRustCrate + (profileName: rec { + name = "smallvec"; + version = "1.13.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"; + }; + features = builtins.concatLists [ + [ "const_generics" ] + [ "const_new" ] + [ "serde" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.7" = + overridableMkRustCrate + (profileName: rec { + name = "socket2"; + version = "0.5.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"; + }; + features = builtins.concatLists [ + [ "all" ] + ]; + dependencies = { + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".spin."0.9.8" = + overridableMkRustCrate + (profileName: rec { + name = "spin"; + version = "0.9.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"; + }; + features = builtins.concatLists [ + [ "barrier" ] + [ "default" ] + [ "lazy" ] + [ "lock_api" ] + [ "lock_api_crate" ] + [ "mutex" ] + [ "once" ] + [ "rwlock" ] + [ "spin_mutex" ] + ]; + dependencies = { + lock_api_crate = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.12" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".spki."0.7.3" = + overridableMkRustCrate + (profileName: rec { + name = "spki"; + version = "0.7.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "pem" ] + [ "std" ] + ]; + dependencies = { + base64ct = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64ct."1.6.0" { + inherit profileName; + }).out; + der = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".der."0.7.9" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlformat."0.2.6" = + overridableMkRustCrate + (profileName: rec { + name = "sqlformat"; + version = "0.2.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790"; + }; + dependencies = { + nom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".nom."7.1.3" { + inherit profileName; + }).out; + unicode_categories = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode_categories."0.1.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e"; + }; + features = builtins.concatLists [ + [ "_rt-tokio" ] + [ "any" ] + [ "default" ] + [ "derive" ] + [ "json" ] + [ "macros" ] + [ "migrate" ] + [ "runtime-tokio" ] + [ "sqlite" ] + [ "sqlx-macros" ] + [ "sqlx-sqlite" ] + ]; + dependencies = { + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + sqlx_macros = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-macros."0.8.2" { + profileName = "__noProfile"; + }).out; + sqlx_mysql = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-mysql."0.8.2" { + inherit profileName; + }).out; + sqlx_postgres = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-postgres."0.8.2" { + inherit profileName; + }).out; + sqlx_sqlite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-sqlite."0.8.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-core"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e"; + }; + features = builtins.concatLists [ + [ "_rt-tokio" ] + [ "any" ] + [ "crc" ] + [ "default" ] + [ "json" ] + [ "migrate" ] + [ "offline" ] + [ "serde" ] + [ "serde_json" ] + [ "sha2" ] + [ "tokio" ] + [ "tokio-stream" ] + ]; + dependencies = { + atoi = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atoi."2.0.0" { + inherit profileName; + }).out; + byteorder = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + crc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crc."3.2.1" { + inherit profileName; + }).out; + crossbeam_queue = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crossbeam-queue."0.3.11" { + inherit profileName; + }).out; + either = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" { + inherit profileName; + }).out; + event_listener = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".event-listener."5.3.1" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_intrusive = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-intrusive."0.5.0" { + inherit profileName; + }).out; + futures_io = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-io."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + hashbrown = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.5" { + inherit profileName; + }).out; + hashlink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashlink."0.9.1" { + inherit profileName; + }).out; + hex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" { + inherit profileName; + }).out; + indexmap = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indexmap."2.6.0" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + paste = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".paste."1.0.15" { + profileName = "__noProfile"; + }).out; + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + sha2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha2."0.10.8" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + sqlformat = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlformat."0.2.6" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tokio_stream = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-stream."0.1.16" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-macros."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-macros"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657"; + }; + features = builtins.concatLists [ + [ "_rt-tokio" ] + [ "default" ] + [ "derive" ] + [ "json" ] + [ "macros" ] + [ "migrate" ] + [ "sqlite" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + sqlx_macros_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-macros-core."0.8.2" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-macros-core."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-macros-core"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5"; + }; + features = builtins.concatLists [ + [ "_rt-tokio" ] + [ "default" ] + [ "derive" ] + [ "json" ] + [ "macros" ] + [ "migrate" ] + [ "sqlite" ] + [ "sqlx-sqlite" ] + [ "tokio" ] + ]; + dependencies = { + dotenvy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".dotenvy."0.15.7" { + inherit profileName; + }).out; + either = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" { + inherit profileName; + }).out; + heck = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".heck."0.5.0" { + inherit profileName; + }).out; + hex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + sha2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha2."0.10.8" { + inherit profileName; + }).out; + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + sqlx_mysql = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-mysql."0.8.2" { + inherit profileName; + }).out; + sqlx_postgres = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-postgres."0.8.2" { + inherit profileName; + }).out; + sqlx_sqlite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-sqlite."0.8.2" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + tempfile = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tempfile."3.14.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-mysql."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-mysql"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a"; + }; + features = builtins.concatLists [ + [ "any" ] + [ "json" ] + [ "migrate" ] + [ "offline" ] + [ "serde" ] + ]; + dependencies = { + atoi = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atoi."2.0.0" { + inherit profileName; + }).out; + base64 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" { + inherit profileName; + }).out; + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + byteorder = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + crc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crc."3.2.1" { + inherit profileName; + }).out; + digest = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".digest."0.10.7" { + inherit profileName; + }).out; + dotenvy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".dotenvy."0.15.7" { + inherit profileName; + }).out; + either = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_io = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-io."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + generic_array = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".generic-array."0.14.7" { + inherit profileName; + }).out; + hex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" { + inherit profileName; + }).out; + hkdf = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hkdf."0.12.4" { + inherit profileName; + }).out; + hmac = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hmac."0.12.1" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + md5 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".md-5."0.10.6" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + rsa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rsa."0.9.6" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + sha1 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha1."0.10.6" { + inherit profileName; + }).out; + sha2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha2."0.10.8" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + stringprep = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".stringprep."0.1.5" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + whoami = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".whoami."1.5.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-postgres."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-postgres"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8"; + }; + features = builtins.concatLists [ + [ "any" ] + [ "json" ] + [ "migrate" ] + [ "offline" ] + ]; + dependencies = { + atoi = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atoi."2.0.0" { + inherit profileName; + }).out; + base64 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" { + inherit profileName; + }).out; + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + byteorder = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" { + inherit profileName; + }).out; + crc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".crc."3.2.1" { + inherit profileName; + }).out; + dotenvy = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".dotenvy."0.15.7" { + inherit profileName; + }).out; + ${if hostPlatform.parsed.kernel.name == "windows" then "etcetera" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".etcetera."0.8.0" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_io = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-io."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + hex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hex."0.4.3" { + inherit profileName; + }).out; + hkdf = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hkdf."0.12.4" { + inherit profileName; + }).out; + hmac = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".hmac."0.12.1" { + inherit profileName; + }).out; + home = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".home."0.5.9" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + md5 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".md-5."0.10.6" { + inherit profileName; + }).out; + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + rand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rand."0.8.5" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + sha2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha2."0.10.8" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + stringprep = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".stringprep."0.1.5" { + inherit profileName; + }).out; + thiserror = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + whoami = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".whoami."1.5.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sqlx-sqlite."0.8.2" = + overridableMkRustCrate + (profileName: rec { + name = "sqlx-sqlite"; + version = "0.8.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680"; + }; + features = builtins.concatLists [ + [ "any" ] + [ "json" ] + [ "migrate" ] + [ "offline" ] + [ "serde" ] + ]; + dependencies = { + atoi = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".atoi."2.0.0" { + inherit profileName; + }).out; + flume = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".flume."0.11.1" { + inherit profileName; + }).out; + futures_channel = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-channel."0.3.31" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_executor = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-executor."0.3.31" { + inherit profileName; + }).out; + futures_intrusive = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-intrusive."0.5.0" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + libsqlite3_sys = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libsqlite3-sys."0.30.1" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_urlencoded = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_urlencoded."0.7.1" { + inherit profileName; + }).out; + sqlx_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sqlx-core."0.8.2" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".stable_deref_trait."1.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "stable_deref_trait"; + version = "1.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".stringprep."0.1.5" = + overridableMkRustCrate + (profileName: rec { + name = "stringprep"; + version = "0.1.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"; + }; + dependencies = { + unicode_bidi = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode-bidi."0.3.17" { + inherit profileName; + }).out; + unicode_normalization = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode-normalization."0.1.24" + { inherit profileName; } + ).out; + unicode_properties = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode-properties."0.1.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".subtle."2.6.1" = + overridableMkRustCrate + (profileName: rec { + name = "subtle"; + version = "2.6.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" = + overridableMkRustCrate + (profileName: rec { + name = "syn"; + version = "2.0.89"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e"; + }; + features = builtins.concatLists [ + [ "clone-impls" ] + [ "default" ] + [ "derive" ] + [ "extra-traits" ] + [ "fold" ] + [ "full" ] + [ "parsing" ] + [ "printing" ] + [ "proc-macro" ] + [ "visit" ] + [ "visit-mut" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + unicode_ident = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".unicode-ident."1.0.14" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."0.1.2" = + overridableMkRustCrate + (profileName: rec { + name = "sync_wrapper"; + version = "0.1.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."1.0.2" = + overridableMkRustCrate + (profileName: rec { + name = "sync_wrapper"; + version = "1.0.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"; + }; + features = builtins.concatLists [ + [ "futures" ] + [ "futures-core" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".synstructure."0.13.1" = + overridableMkRustCrate + (profileName: rec { + name = "synstructure"; + version = "0.13.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "proc-macro" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tempfile."3.14.0" = + overridableMkRustCrate + (profileName: rec { + name = "tempfile"; + version = "3.14.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + fastrand = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".fastrand."2.2.0" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "wasi" then "rustix" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.41" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.59.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.69" = + overridableMkRustCrate + (profileName: rec { + name = "thiserror"; + version = "1.0.69"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"; + }; + dependencies = { + thiserror_impl = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror-impl."1.0.69" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".thiserror."2.0.3" = + overridableMkRustCrate + (profileName: rec { + name = "thiserror"; + version = "2.0.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + thiserror_impl = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".thiserror-impl."2.0.3" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".thiserror-impl."1.0.69" = + overridableMkRustCrate + (profileName: rec { + name = "thiserror-impl"; + version = "1.0.69"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".thiserror-impl."2.0.3" = + overridableMkRustCrate + (profileName: rec { + name = "thiserror-impl"; + version = "2.0.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".thread_local."1.1.8" = + overridableMkRustCrate + (profileName: rec { + name = "thread_local"; + version = "1.1.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".time."0.3.36" = + overridableMkRustCrate + (profileName: rec { + name = "time"; + version = "0.3.36"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "formatting" ] + [ "parsing" ] + [ "std" ] + ]; + dependencies = { + deranged = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".deranged."0.3.11" { + inherit profileName; + }).out; + itoa = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".itoa."1.0.14" { + inherit profileName; + }).out; + num_conv = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-conv."0.1.0" { + inherit profileName; + }).out; + powerfmt = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".powerfmt."0.2.0" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + time_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".time-core."0.1.2" { + inherit profileName; + }).out; + time_macros = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".time-macros."0.2.18" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".time-core."0.1.2" = + overridableMkRustCrate + (profileName: rec { + name = "time-core"; + version = "0.1.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".time-macros."0.2.18" = + overridableMkRustCrate + (profileName: rec { + name = "time-macros"; + version = "0.2.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"; + }; + features = builtins.concatLists [ + [ "formatting" ] + [ "parsing" ] + ]; + dependencies = { + num_conv = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-conv."0.1.0" { + inherit profileName; + }).out; + time_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".time-core."0.1.2" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tinystr."0.7.6" = + overridableMkRustCrate + (profileName: rec { + name = "tinystr"; + version = "0.7.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "zerovec" ] + ]; + dependencies = { + displaydoc = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".displaydoc."0.2.5" { + profileName = "__noProfile"; + }).out; + zerovec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tinyvec."1.8.0" = + overridableMkRustCrate + (profileName: rec { + name = "tinyvec"; + version = "1.8.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "tinyvec_macros" ] + ]; + dependencies = { + tinyvec_macros = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinyvec_macros."0.1.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tinyvec_macros."0.1.1" = + overridableMkRustCrate + (profileName: rec { + name = "tinyvec_macros"; + version = "0.1.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" = + overridableMkRustCrate + (profileName: rec { + name = "tokio"; + version = "1.41.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"; + }; + features = builtins.concatLists [ + [ "bytes" ] + [ "default" ] + [ "fs" ] + [ "io-std" ] + [ "io-util" ] + [ "libc" ] + [ "macros" ] + [ "mio" ] + [ "net" ] + [ "rt" ] + [ "rt-multi-thread" ] + [ "socket2" ] + [ "sync" ] + [ "time" ] + [ "tokio-macros" ] + [ "windows-sys" ] + ]; + dependencies = { + ${if false then "backtrace" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.71" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + ${if hostPlatform.isUnix then "libc" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + mio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".mio."1.0.2" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + socket2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.7" { + inherit profileName; + }).out; + tokio_macros = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-macros."2.4.0" { + profileName = "__noProfile"; + }).out; + ${if hostPlatform.isWindows then "windows_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tokio-macros."2.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "tokio-macros"; + version = "2.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tokio-rustls."0.26.0" = + overridableMkRustCrate + (profileName: rec { + name = "tokio-rustls"; + version = "0.26.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"; + }; + features = builtins.concatLists [ + [ "aws_lc_rs" ] + [ "default" ] + [ "logging" ] + [ "ring" ] + [ "tls12" ] + ]; + dependencies = { + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tokio-stream."0.1.16" = + overridableMkRustCrate + (profileName: rec { + name = "tokio-stream"; + version = "0.1.16"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "fs" ] + [ "time" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tokio-util."0.7.12" = + overridableMkRustCrate + (profileName: rec { + name = "tokio-util"; + version = "0.7.12"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"; + }; + features = builtins.concatLists [ + [ "codec" ] + [ "default" ] + [ "io" ] + ]; + dependencies = { + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_sink = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-sink."0.3.31" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".toml."0.8.19" = + overridableMkRustCrate + (profileName: rec { + name = "toml"; + version = "0.8.19"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "display" ] + [ "parse" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_spanned = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_spanned."0.6.8" { + inherit profileName; + }).out; + toml_datetime = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".toml_datetime."0.6.8" { + inherit profileName; + }).out; + toml_edit = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".toml_edit."0.22.22" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".toml_datetime."0.6.8" = + overridableMkRustCrate + (profileName: rec { + name = "toml_datetime"; + version = "0.6.8"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"; + }; + features = builtins.concatLists [ + [ "serde" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".toml_edit."0.22.22" = + overridableMkRustCrate + (profileName: rec { + name = "toml_edit"; + version = "0.22.22"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"; + }; + features = builtins.concatLists [ + [ "display" ] + [ "parse" ] + [ "serde" ] + ]; + dependencies = { + indexmap = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".indexmap."2.6.0" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_spanned = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_spanned."0.6.8" { + inherit profileName; + }).out; + toml_datetime = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".toml_datetime."0.6.8" { + inherit profileName; + }).out; + winnow = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".winnow."0.6.20" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower."0.4.13" = + overridableMkRustCrate + (profileName: rec { + name = "tower"; + version = "0.4.13"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "log" ] + [ "tracing" ] + ]; + dependencies = { + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower."0.5.1" = + overridableMkRustCrate + (profileName: rec { + name = "tower"; + version = "0.5.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f"; + }; + features = builtins.concatLists [ + [ "__common" ] + [ "futures-core" ] + [ "futures-util" ] + [ "log" ] + [ "make" ] + [ "pin-project-lite" ] + [ "sync_wrapper" ] + [ "tokio" ] + [ "tracing" ] + [ "util" ] + ]; + dependencies = { + futures_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-core."0.3.31" { + inherit profileName; + }).out; + futures_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".futures-util."0.3.31" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + sync_wrapper = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sync_wrapper."0.1.2" { + inherit profileName; + }).out; + tokio = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.41.1" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower-http."0.5.2" = + overridableMkRustCrate + (profileName: rec { + name = "tower-http"; + version = "0.5.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + http_body_util = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body-util."0.1.2" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower-http."0.6.2" = + overridableMkRustCrate + (profileName: rec { + name = "tower-http"; + version = "0.6.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "trace" ] + [ "tracing" ] + ]; + dependencies = { + bitflags = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.6.0" { + inherit profileName; + }).out; + bytes = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.8.0" { + inherit profileName; + }).out; + http = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http."1.1.0" { + inherit profileName; + }).out; + http_body = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".http-body."1.0.1" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + tower_layer = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" { + inherit profileName; + }).out; + tower_service = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower-layer."0.3.3" = + overridableMkRustCrate + (profileName: rec { + name = "tower-layer"; + version = "0.3.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tower-service."0.3.3" = + overridableMkRustCrate + (profileName: rec { + name = "tower-service"; + version = "0.3.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" = + overridableMkRustCrate + (profileName: rec { + name = "tracing"; + version = "0.1.40"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"; + }; + features = builtins.concatLists [ + [ "attributes" ] + [ "default" ] + [ "log" ] + [ "std" ] + [ "tracing-attributes" ] + ]; + dependencies = { + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + pin_project_lite = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.15" { + inherit profileName; + }).out; + tracing_attributes = + ( + buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-attributes."0.1.27" + { profileName = "__noProfile"; } + ).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-attributes."0.1.27" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-attributes"; + version = "0.1.27"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-core"; + version = "0.1.33"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "once_cell" ] + [ "std" ] + ]; + dependencies = { + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + ${if false then "valuable" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".valuable."0.1.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-error."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-error"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "traced-error" ] + ]; + dependencies = { + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + tracing_subscriber = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-subscriber."0.3.18" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-log."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-log"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"; + }; + features = builtins.concatLists [ + [ "log-tracer" ] + [ "std" ] + ]; + dependencies = { + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-serde."0.1.3" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-serde"; + version = "0.1.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"; + }; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".tracing-subscriber."0.3.18" = + overridableMkRustCrate + (profileName: rec { + name = "tracing-subscriber"; + version = "0.3.18"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "ansi" ] + [ "default" ] + [ "env-filter" ] + [ "fmt" ] + [ "json" ] + [ "matchers" ] + [ "nu-ansi-term" ] + [ "once_cell" ] + [ "regex" ] + [ "registry" ] + [ "serde" ] + [ "serde_json" ] + [ "sharded-slab" ] + [ "smallvec" ] + [ "std" ] + [ "thread_local" ] + [ "tracing" ] + [ "tracing-log" ] + [ "tracing-serde" ] + ]; + dependencies = { + matchers = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".matchers."0.1.0" { + inherit profileName; + }).out; + nu_ansi_term = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".nu-ansi-term."0.46.0" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + regex = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.11.1" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + serde_json = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.133" { + inherit profileName; + }).out; + sharded_slab = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".sharded-slab."0.1.7" { + inherit profileName; + }).out; + smallvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.13.2" { + inherit profileName; + }).out; + thread_local = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".thread_local."1.1.8" { + inherit profileName; + }).out; + tracing = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.40" { + inherit profileName; + }).out; + tracing_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-core."0.1.33" { + inherit profileName; + }).out; + tracing_log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-log."0.2.0" { + inherit profileName; + }).out; + tracing_serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing-serde."0.1.3" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".try-lock."0.2.5" = + overridableMkRustCrate + (profileName: rec { + name = "try-lock"; + version = "0.2.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".typenum."1.17.0" = + overridableMkRustCrate + (profileName: rec { + name = "typenum"; + version = "1.17.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".uname."0.1.1" = + overridableMkRustCrate + (profileName: rec { + name = "uname"; + version = "0.1.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8"; + }; + dependencies = { + libc = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.165" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".unicode-bidi."0.3.17" = + overridableMkRustCrate + (profileName: rec { + name = "unicode-bidi"; + version = "0.3.17"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "hardcoded-data" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".unicode-ident."1.0.14" = + overridableMkRustCrate + (profileName: rec { + name = "unicode-ident"; + version = "1.0.14"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".unicode-normalization."0.1.24" = + overridableMkRustCrate + (profileName: rec { + name = "unicode-normalization"; + version = "0.1.24"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + tinyvec = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".tinyvec."1.8.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".unicode-properties."0.1.3" = + overridableMkRustCrate + (profileName: rec { + name = "unicode-properties"; + version = "0.1.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "emoji" ] + [ "general-category" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".unicode_categories."0.1.1" = + overridableMkRustCrate + (profileName: rec { + name = "unicode_categories"; + version = "0.1.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".untrusted."0.9.0" = + overridableMkRustCrate + (profileName: rec { + name = "untrusted"; + version = "0.9.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".ureq."2.10.1" = + overridableMkRustCrate + (profileName: rec { + name = "ureq"; + version = "2.10.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a"; + }; + features = builtins.concatLists [ + [ "tls" ] + ]; + dependencies = { + base64 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".base64."0.22.1" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + rustls = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls."0.23.18" { + inherit profileName; + }).out; + rustls_pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + url = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" { + inherit profileName; + }).out; + webpki_roots = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".webpki-roots."0.26.7" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".url."2.5.4" = + overridableMkRustCrate + (profileName: rec { + name = "url"; + version = "2.5.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "serde" ] + [ "std" ] + ]; + dependencies = { + form_urlencoded = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".form_urlencoded."1.2.1" { + inherit profileName; + }).out; + idna = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".idna."1.0.3" { + inherit profileName; + }).out; + percent_encoding = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".percent-encoding."2.3.1" { + inherit profileName; + }).out; + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".utf16_iter."1.0.5" = + overridableMkRustCrate + (profileName: rec { + name = "utf16_iter"; + version = "1.0.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".utf8_iter."1.0.4" = + overridableMkRustCrate + (profileName: rec { + name = "utf8_iter"; + version = "1.0.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".uuid."1.11.0" = + overridableMkRustCrate + (profileName: rec { + name = "uuid"; + version = "1.11.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "serde" ] + [ "std" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".valuable."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "valuable"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".vcpkg."0.2.15" = + overridableMkRustCrate + (profileName: rec { + name = "vcpkg"; + version = "0.2.15"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".version_check."0.9.5" = + overridableMkRustCrate + (profileName: rec { + name = "version_check"; + version = "0.9.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".virtue."0.0.13" = + overridableMkRustCrate + (profileName: rec { + name = "virtue"; + version = "0.0.13"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9dcc60c0624df774c82a0ef104151231d37da4962957d691c011c852b2473314"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".want."0.3.1" = + overridableMkRustCrate + (profileName: rec { + name = "want"; + version = "0.3.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"; + }; + dependencies = { + try_lock = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".try-lock."0.2.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasi."0.11.0+wasi-snapshot-preview1" = + overridableMkRustCrate + (profileName: rec { + name = "wasi"; + version = "0.11.0+wasi-snapshot-preview1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasite."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "wasite"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen"; + version = "0.2.95"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "spans" ] + [ "std" ] + ]; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + wasm_bindgen_macro = + ( + buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-macro."0.2.95" + { profileName = "__noProfile"; } + ).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-backend."0.2.95" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen-backend"; + version = "0.2.95"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"; + }; + features = builtins.concatLists [ + [ "spans" ] + ]; + dependencies = { + bumpalo = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".bumpalo."3.16.0" { + inherit profileName; + }).out; + log = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.22" { + inherit profileName; + }).out; + once_cell = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + wasm_bindgen_shared = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-shared."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-futures."0.4.45" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen-futures"; + version = "0.4.45"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b"; + }; + dependencies = { + cfg_if = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { + inherit profileName; + }).out; + js_sys = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" { + inherit profileName; + }).out; + wasm_bindgen = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + ${if builtins.elem "atomics" hostPlatformFeatures then "web_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".web-sys."0.3.72" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-macro."0.2.95" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen-macro"; + version = "0.2.95"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"; + }; + features = builtins.concatLists [ + [ "spans" ] + ]; + dependencies = { + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + wasm_bindgen_macro_support = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-macro-support."0.2.95" + { inherit profileName; } + ).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-macro-support."0.2.95" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen-macro-support"; + version = "0.2.95"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"; + }; + features = builtins.concatLists [ + [ "spans" ] + ]; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + wasm_bindgen_backend = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-backend."0.2.95" + { inherit profileName; } + ).out; + wasm_bindgen_shared = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-shared."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen-shared."0.2.95" = + overridableMkRustCrate + (profileName: rec { + name = "wasm-bindgen-shared"; + version = "0.2.95"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".web-sys."0.3.72" = + overridableMkRustCrate + (profileName: rec { + name = "web-sys"; + version = "0.3.72"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"; + }; + features = builtins.concatLists [ + [ "AbortController" ] + [ "AbortSignal" ] + [ "Blob" ] + [ "BlobPropertyBag" ] + [ "Event" ] + [ "EventTarget" ] + [ "File" ] + [ "FormData" ] + [ "Headers" ] + [ "MessageEvent" ] + [ "Performance" ] + [ "ReadableStream" ] + [ "Request" ] + [ "RequestCredentials" ] + [ "RequestInit" ] + [ "RequestMode" ] + [ "Response" ] + [ "ServiceWorkerGlobalScope" ] + [ "Window" ] + [ "Worker" ] + [ "WorkerGlobalScope" ] + ]; + dependencies = { + js_sys = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" { + inherit profileName; + }).out; + wasm_bindgen = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".web-time."1.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "web-time"; + version = "1.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"; + }; + dependencies = { + ${if false then "js_sys" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.72" { + inherit profileName; + }).out; + ${if false then "wasm_bindgen" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasm-bindgen."0.2.95" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".webpki-roots."0.26.7" = + overridableMkRustCrate + (profileName: rec { + name = "webpki-roots"; + version = "0.26.7"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"; + }; + dependencies = { + pki_types = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustls-pki-types."1.10.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".which."4.4.2" = + overridableMkRustCrate + (profileName: rec { + name = "which"; + version = "4.4.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"; + }; + dependencies = { + either = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.13.0" { + inherit profileName; + }).out; + ${ + if hostPlatform.isWindows || hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "redox" then + "home" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".home."0.5.9" { + inherit profileName; + }).out; + ${if hostPlatform.isWindows then "once_cell" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.20.2" { + inherit profileName; + }).out; + rustix = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.41" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".whoami."1.5.2" = + overridableMkRustCrate + (profileName: rec { + name = "whoami"; + version = "1.5.2"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d"; + }; + dependencies = { + ${ + if hostPlatform.parsed.kernel.name == "redox" && !(hostPlatform.parsed.cpu.name == "wasm32") then + "syscall" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.5.7" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "wasm32" && hostPlatform.parsed.kernel.name == "wasi" then + "wasite" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".wasite."0.1.0" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" = + overridableMkRustCrate + (profileName: rec { + name = "winapi"; + version = "0.3.9"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"; + }; + features = builtins.concatLists [ + [ "consoleapi" ] + [ "errhandlingapi" ] + [ "fileapi" ] + [ "handleapi" ] + [ "libloaderapi" ] + [ "memoryapi" ] + [ "minwinbase" ] + [ "minwindef" ] + [ "processenv" ] + [ "processthreadsapi" ] + [ "profileapi" ] + [ "psapi" ] + [ "winbase" ] + ]; + dependencies = { + ${if hostPlatform.config == "i686-pc-windows-gnu" then "winapi_i686_pc_windows_gnu" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi-i686-pc-windows-gnu."0.4.0" + { inherit profileName; } + ).out; + ${if hostPlatform.config == "x86_64-pc-windows-gnu" then "winapi_x86_64_pc_windows_gnu" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi-x86_64-pc-windows-gnu."0.4.0" + { inherit profileName; } + ).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".winapi-i686-pc-windows-gnu."0.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "winapi-i686-pc-windows-gnu"; + version = "0.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".winapi-x86_64-pc-windows-gnu."0.4.0" = + overridableMkRustCrate + (profileName: rec { + name = "winapi-x86_64-pc-windows-gnu"; + version = "0.4.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows."0.52.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows"; + version = "0.52.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"; + }; + features = builtins.concatLists [ + [ "Win32" ] + [ "Win32_Foundation" ] + [ "Win32_System" ] + [ "Win32_System_SystemInformation" ] + [ "default" ] + ]; + dependencies = { + windows_core = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-core."0.52.0" { + inherit profileName; + }).out; + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-core."0.52.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-core"; + version = "0.52.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"; + }; + features = builtins.concatLists [ + [ "default" ] + ]; + dependencies = { + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-registry."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-registry"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"; + }; + dependencies = { + windows_result = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-result."0.2.0" { + inherit profileName; + }).out; + windows_strings = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-strings."0.1.0" { + inherit profileName; + }).out; + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-result."0.2.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-result"; + version = "0.2.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-strings."0.1.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-strings"; + version = "0.1.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"; + }; + features = builtins.concatLists [ + [ "default" ] + [ "std" ] + ]; + dependencies = { + windows_result = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-result."0.2.0" { + inherit profileName; + }).out; + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-sys"; + version = "0.48.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"; + }; + features = builtins.concatLists [ + [ "Win32" ] + [ "Win32_Foundation" ] + [ "Win32_UI" ] + [ "Win32_UI_Shell" ] + [ "default" ] + ]; + dependencies = { + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.48.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.52.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-sys"; + version = "0.52.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"; + }; + features = builtins.concatLists [ + [ "Wdk" ] + [ "Wdk_Foundation" ] + [ "Wdk_Storage" ] + [ "Wdk_Storage_FileSystem" ] + [ "Wdk_System" ] + [ "Wdk_System_IO" ] + [ "Win32" ] + [ "Win32_Foundation" ] + [ "Win32_NetworkManagement" ] + [ "Win32_NetworkManagement_IpHelper" ] + [ "Win32_Networking" ] + [ "Win32_Networking_WinSock" ] + [ "Win32_Security" ] + [ "Win32_Storage" ] + [ "Win32_Storage_FileSystem" ] + [ "Win32_System" ] + [ "Win32_System_Com" ] + [ "Win32_System_Diagnostics" ] + [ "Win32_System_Diagnostics_Debug" ] + [ "Win32_System_IO" ] + [ "Win32_System_LibraryLoader" ] + [ "Win32_System_Pipes" ] + [ "Win32_System_Registry" ] + [ "Win32_System_SystemInformation" ] + [ "Win32_System_SystemServices" ] + [ "Win32_System_Threading" ] + [ "Win32_System_WindowsProgramming" ] + [ "Win32_UI" ] + [ "Win32_UI_Shell" ] + [ "Win32_UI_WindowsAndMessaging" ] + [ "default" ] + ]; + dependencies = { + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.59.0" = + overridableMkRustCrate + (profileName: rec { + name = "windows-sys"; + version = "0.59.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"; + }; + features = builtins.concatLists [ + [ "Win32" ] + [ "Win32_Foundation" ] + [ "Win32_Networking" ] + [ "Win32_Networking_WinSock" ] + [ "Win32_Storage" ] + [ "Win32_Storage_FileSystem" ] + [ "Win32_System" ] + [ "Win32_System_IO" ] + [ "default" ] + ]; + dependencies = { + windows_targets = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows-targets"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"; + }; + dependencies = { + ${if hostPlatform.config == "aarch64-pc-windows-gnullvm" then "windows_aarch64_gnullvm" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_gnullvm."0.48.5" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.abi.name == "msvc" then + "windows_aarch64_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_msvc."0.48.5" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "i686" && hostPlatform.parsed.abi.name == "gnu" then + "windows_i686_gnu" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnu."0.48.5" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "i686" && hostPlatform.parsed.abi.name == "msvc" then + "windows_i686_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_msvc."0.48.5" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.abi.name == "gnu" then + "windows_x86_64_gnu" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnu."0.48.5" { + inherit profileName; + }).out; + ${if hostPlatform.config == "x86_64-pc-windows-gnullvm" then "windows_x86_64_gnullvm" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnullvm."0.48.5" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.abi.name == "msvc" then + "windows_x86_64_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.48.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows-targets"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"; + }; + dependencies = { + ${if hostPlatform.config == "aarch64-pc-windows-gnullvm" then "windows_aarch64_gnullvm" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_gnullvm."0.52.6" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.abi.name == "msvc" then + "windows_aarch64_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_msvc."0.52.6" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "i686" && hostPlatform.parsed.abi.name == "gnu" then + "windows_i686_gnu" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnu."0.52.6" { + inherit profileName; + }).out; + ${if hostPlatform.config == "i686-pc-windows-gnullvm" then "windows_i686_gnullvm" else null} = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnullvm."0.52.6" + { inherit profileName; } + ).out; + ${ + if hostPlatform.parsed.cpu.name == "i686" && hostPlatform.parsed.abi.name == "msvc" then + "windows_i686_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_msvc."0.52.6" { + inherit profileName; + }).out; + ${ + if hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.abi.name == "gnu" then + "windows_x86_64_gnu" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnu."0.52.6" { + inherit profileName; + }).out; + ${if hostPlatform.config == "x86_64-pc-windows-gnullvm" then "windows_x86_64_gnullvm" else null} = + ( + rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnullvm."0.52.6" + { inherit profileName; } + ).out; + ${ + if + (hostPlatform.parsed.cpu.name == "x86_64" || hostPlatform.parsed.cpu.name == "arm64ec") + && hostPlatform.parsed.abi.name == "msvc" + then + "windows_x86_64_msvc" + else + null + } = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.52.6" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_gnullvm."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_aarch64_gnullvm"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_gnullvm."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_aarch64_gnullvm"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_msvc."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_aarch64_msvc"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_aarch64_msvc."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_aarch64_msvc"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnu."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_i686_gnu"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnu."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_i686_gnu"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnullvm."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_i686_gnullvm"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_i686_msvc."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_i686_msvc"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_i686_msvc."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_i686_msvc"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnu."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_gnu"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnu."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_gnu"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnullvm."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_gnullvm"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnullvm."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_gnullvm"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.48.5" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_msvc"; + version = "0.48.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.52.6" = + overridableMkRustCrate + (profileName: rec { + name = "windows_x86_64_msvc"; + version = "0.52.6"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".winnow."0.6.20" = + overridableMkRustCrate + (profileName: rec { + name = "winnow"; + version = "0.6.20"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "std" ] + ]; + dependencies = { + memchr = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.7.4" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".write16."1.0.0" = + overridableMkRustCrate + (profileName: rec { + name = "write16"; + version = "1.0.0"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"; + }; + features = builtins.concatLists [ + [ "alloc" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".writeable."0.5.5" = + overridableMkRustCrate + (profileName: rec { + name = "writeable"; + version = "0.5.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".yoke."0.7.5" = + overridableMkRustCrate + (profileName: rec { + name = "yoke"; + version = "0.7.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + [ "derive" ] + [ "zerofrom" ] + ]; + dependencies = { + serde = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.215" { + inherit profileName; + }).out; + stable_deref_trait = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".stable_deref_trait."1.2.0" { + inherit profileName; + }).out; + yoke_derive = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".yoke-derive."0.7.5" { + profileName = "__noProfile"; + }).out; + zerofrom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerofrom."0.1.5" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".yoke-derive."0.7.5" = + overridableMkRustCrate + (profileName: rec { + name = "yoke-derive"; + version = "0.7.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + synstructure = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".synstructure."0.13.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerocopy."0.7.35" = + overridableMkRustCrate + (profileName: rec { + name = "zerocopy"; + version = "0.7.35"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"; + }; + features = builtins.concatLists [ + [ "byteorder" ] + [ "default" ] + [ "derive" ] + [ "simd" ] + [ "zerocopy-derive" ] + ]; + dependencies = { + byteorder = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.5.0" { + inherit profileName; + }).out; + zerocopy_derive = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy-derive."0.7.35" + { profileName = "__noProfile"; } + ).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerocopy-derive."0.7.35" = + overridableMkRustCrate + (profileName: rec { + name = "zerocopy-derive"; + version = "0.7.35"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerofrom."0.1.5" = + overridableMkRustCrate + (profileName: rec { + name = "zerofrom"; + version = "0.1.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "derive" ] + ]; + dependencies = { + zerofrom_derive = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".zerofrom-derive."0.1.5" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerofrom-derive."0.1.5" = + overridableMkRustCrate + (profileName: rec { + name = "zerofrom-derive"; + version = "0.1.5"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + synstructure = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".synstructure."0.13.1" { + inherit profileName; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zeroize."1.8.1" = + overridableMkRustCrate + (profileName: rec { + name = "zeroize"; + version = "1.8.1"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"; + }; + features = builtins.concatLists [ + [ "alloc" ] + [ "default" ] + ]; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerovec."0.10.4" = + overridableMkRustCrate + (profileName: rec { + name = "zerovec"; + version = "0.10.4"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"; + }; + features = builtins.concatLists [ + [ "derive" ] + [ "yoke" ] + ]; + dependencies = { + yoke = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".yoke."0.7.5" { + inherit profileName; + }).out; + zerofrom = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerofrom."0.1.5" { + inherit profileName; + }).out; + zerovec_derive = + (buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".zerovec-derive."0.10.3" { + profileName = "__noProfile"; + }).out; + }; + }); + + "registry+https://github.com/rust-lang/crates.io-index".zerovec-derive."0.10.3" = + overridableMkRustCrate + (profileName: rec { + name = "zerovec-derive"; + version = "0.10.3"; + registry = "registry+https://github.com/rust-lang/crates.io-index"; + src = fetchCratesIo { + inherit name version; + sha256 = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"; + }; + dependencies = { + proc_macro2 = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.92" { + inherit profileName; + }).out; + quote = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.37" { + inherit profileName; + }).out; + syn = + (rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.89" { + inherit profileName; + }).out; + }; + }); + + } diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..118fc53 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,92 @@ +[workspace] +members = [ + "chir-rs-config", + "chir-rs-db", + "chir-rs-gemini", + "chir-rs-http", + "chir-rs-http-api", +] +resolver = "2" + +[package] +name = "chir-rs" +version = "0.1.0" +edition = "2021" + +[dependencies] +chir-rs-config = { version = "0.1.0", path = "chir-rs-config" } +chir-rs-db = { version = "0.1.0", path = "chir-rs-db" } +chir-rs-gemini = { version = "0.1.0", path = "chir-rs-gemini" } +chir-rs-http = { version = "0.1.0", path = "chir-rs-http" } +color-eyre = { version = "0.6.3", features = ["issue-url"] } +dotenvy = "0.15.7" +eyre = "0.6.12" +sentry = { version = "0.34.0", default-features = false, features = [ + "backtrace", + "contexts", + "debug-images", + "panic", + "metrics", + "reqwest", + "rustls", +] } +sentry-eyre = "0.2.0" +sentry-tracing = { version = "0.34.0", features = ["backtrace"] } +tokio = { version = "1.41.1", features = ["macros", "rt-multi-thread"] } +tracing-error = "0.2.0" +tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] } + +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" + +[profile.release] +codegen-units = 1 +lto = true +debug = "full" +strip = "none" diff --git a/chir-rs-config/Cargo.toml b/chir-rs-config/Cargo.toml new file mode 100644 index 0000000..f35e9c4 --- /dev/null +++ b/chir-rs-config/Cargo.toml @@ -0,0 +1,60 @@ +[package] +name = "chir-rs-config" +version = "0.1.0" +edition = "2021" + +[dependencies] +atty = "0.2.14" +eyre = "0.6.12" +sentry-core = "0.34.0" +serde = { version = "1.0.215", features = ["derive"] } +toml = "0.8.19" + +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" diff --git a/chir-rs-config/src/lib.rs b/chir-rs-config/src/lib.rs new file mode 100644 index 0000000..0481979 --- /dev/null +++ b/chir-rs-config/src/lib.rs @@ -0,0 +1,197 @@ +//! Configuration file support + +use std::{ + net::SocketAddr, + path::{Path, PathBuf}, +}; + +use eyre::{self, Context, Result}; +use sentry_core::types::Dsn; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; + +/// Returns the default logging level. +/// +/// This is set to `debug` on debug builds and `warn` on release builds. +#[must_use] +fn default_log_level() -> String { + #[cfg(debug_assertions)] + { + "debug".to_string() + } + #[cfg(not(debug_assertions))] + { + "warn".to_string() + } +} + +/// The Logging format to use +#[derive(Copy, Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum LogFormat { + /// Full human-readable logging output + Full, + /// Compact single-line logging format + Compact, + /// Pretty and sparse logging output, intended for development. + Pretty, + /// JSON output + Json, +} + +impl Default for LogFormat { + fn default() -> Self { + if atty::is(atty::Stream::Stdout) { + #[cfg(debug_assertions)] + { + Self::Pretty + } + #[cfg(not(debug_assertions))] + { + Self::Full + } + } else { + Self::Json + } + } +} + +/// Configuration for monitoring and logging +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct LoggingConfig { + /// Sentry DSN + #[serde(skip_serializing_if = "Option::is_none")] + #[serde(default)] + pub sentry_dsn: Option, + /// Log Level to output to stdout. + /// By default, this is `"debug"` in debug builds and `"warn"` in release builds. + #[serde(default = "default_log_level")] + pub log_level: String, + /// Logging style used by tracing. + /// + /// There are three default values: + /// + /// - If the log output is not a tty (for example systemd-journald or a file), the log output will be [`LogFormat::Json`] + /// - If the log output is a tty AND the program runs in debug mode, the log output will be [`LogFormat::Pretty`] + /// - If the log output is a tty AND the program runs in release mode, the log output will be [`LogFormat::Full`] + #[serde(default)] + pub log_style: LogFormat, +} + +fn deserialize_socket_addrs<'de, D: Deserializer<'de>>(d: D) -> Result, D::Error> { + /// Internal representation of socket addresses + /// + /// It’s either a single one, or a list of them + #[derive(Deserialize)] + #[serde(untagged)] + enum OneOrVec { + /// Just a single socket address + One(SocketAddr), + /// List of socket addresses + Vec(Vec), + } + let one_or_vec: OneOrVec = OneOrVec::deserialize(d)?; + + match one_or_vec { + OneOrVec::One(socket_addr) => Ok(vec![socket_addr]), + OneOrVec::Vec(vec) => Ok(vec), + } +} + +fn serialize_socket_addrs( + socket_addrs: &Vec, + s: S, +) -> Result { + if socket_addrs.len() == 1 { + socket_addrs[0].serialize(s) + } else { + socket_addrs.serialize(s) + } +} + +/// Returns the default socket addresses to use for http +#[expect(clippy::expect_used, reason = "Expect on hard-coded string literal")] +fn default_http_socket_addrs() -> Vec { + vec!["[::1]:5621" + .parse() + .expect("Hard coded string literal, should never happen")] +} + +/// Returns the default socket addresses to use for gemini +#[expect(clippy::expect_used, reason = "Expect on hard-coded string literal")] +fn default_gemini_socket_addrs() -> Vec { + vec!["[::]:1965" + .parse() + .expect("Hard coded string literal, should never happen")] +} + +/// Configuration used for axum’s HTTP config +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct Http { + /// Which IP addresses and ports to bind to + /// + /// The default is `[::1]:5621`. + #[serde(serialize_with = "serialize_socket_addrs")] + #[serde(deserialize_with = "deserialize_socket_addrs")] + #[serde(default = "default_http_socket_addrs")] + pub listen: Vec, +} + +/// Configuration used for the gemini server +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct Gemini { + /// Which IP addresses and ports to bind to + /// + /// The default is `[::]:1965`. + #[serde(serialize_with = "serialize_socket_addrs")] + #[serde(deserialize_with = "deserialize_socket_addrs")] + #[serde(default = "default_gemini_socket_addrs")] + pub listen: Vec, + /// Host name to run under + pub host: String, + /// Path to the private key + pub private_key: PathBuf, + /// Path to the certificate + pub certificate: PathBuf, +} + +/// Database configuration file +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct Database { + /// Path to the database + pub path: String, +} + +/// Root configuration file +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct ChirRs { + /// Logging and monitoring related settings + pub logging: LoggingConfig, + /// HTTP Configuration + pub http: Http, + /// Gemini Configuration + pub gemini: Gemini, + /// Database Configuration + pub database: Database, +} + +impl ChirRs { + /// Reads chir.rs configuration from file + /// + /// # Errors + /// This function returns an error if the path cannot be read, doesn’t contain valid UTF-8 text, or TOML in the expected configuration format. + pub fn read(fname: impl AsRef) -> Result { + let config = std::fs::read_to_string(fname.as_ref()) + .with_context(|| format!("Reading config file {:?}", fname.as_ref()))?; + toml::de::from_str(&config) + .with_context(|| format!("Deserializing config file {:?}", fname.as_ref())) + } + + /// Reads chir.rs configuration from a file pointed to by the `CHIR_RS_CONFIG` environment variable + /// + /// # Errors + /// Like [`ChirRs::read`], but it also returns an error if the value of `CHIR_RS_CONFIG` is missing or invalid. + pub fn read_from_env() -> Result { + let fname = std::env::var("CHIR_RS_CONFIG") + .context("Reading CHIR_RS_CONFIG environment variable")?; + Self::read(fname) + } +} diff --git a/chir-rs-db/.sqlx/query-3b729cf7297b569253249000a3cc0de67106e426a1ae4e7cdac6eb85eeeb3849.json b/chir-rs-db/.sqlx/query-3b729cf7297b569253249000a3cc0de67106e426a1ae4e7cdac6eb85eeeb3849.json new file mode 100644 index 0000000..4fb487a --- /dev/null +++ b/chir-rs-db/.sqlx/query-3b729cf7297b569253249000a3cc0de67106e426a1ae4e7cdac6eb85eeeb3849.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "DELETE FROM 'file' WHERE 'id' = ?", + "describe": { + "columns": [], + "parameters": { + "Right": 1 + }, + "nullable": [] + }, + "hash": "3b729cf7297b569253249000a3cc0de67106e426a1ae4e7cdac6eb85eeeb3849" +} diff --git a/chir-rs-db/.sqlx/query-88de2bc8bea8b9b5f1de736af16ed3cc0a2711b37687e595619fa001fa2633bc.json b/chir-rs-db/.sqlx/query-88de2bc8bea8b9b5f1de736af16ed3cc0a2711b37687e595619fa001fa2633bc.json new file mode 100644 index 0000000..0b9a726 --- /dev/null +++ b/chir-rs-db/.sqlx/query-88de2bc8bea8b9b5f1de736af16ed3cc0a2711b37687e595619fa001fa2633bc.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "UPDATE 'file' SET 'file_path' = ?, 'mime' = ?, 'b3hash' = ? WHERE 'id' = ?", + "describe": { + "columns": [], + "parameters": { + "Right": 4 + }, + "nullable": [] + }, + "hash": "88de2bc8bea8b9b5f1de736af16ed3cc0a2711b37687e595619fa001fa2633bc" +} diff --git a/chir-rs-db/Cargo.toml b/chir-rs-db/Cargo.toml new file mode 100644 index 0000000..a6c44e4 --- /dev/null +++ b/chir-rs-db/Cargo.toml @@ -0,0 +1,67 @@ +[package] +name = "chir-rs-db" +version = "0.1.0" +edition = "2021" + +[dependencies] +bincode = "2.0.0-rc.3" +serde = { version = "1.0.215", features = ["derive"] } +sqlx = { version = "0.8.2", features = [ + "runtime-tokio", + "sqlite", + "derive", + "macros", + "migrate", +] } +eyre = "0.6.12" +tracing = "0.1.40" +blake3 = { version = "1.5.4", features = ["serde"] } + +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" diff --git a/chir-rs-db/build.rs b/chir-rs-db/build.rs new file mode 100644 index 0000000..753820a --- /dev/null +++ b/chir-rs-db/build.rs @@ -0,0 +1,6 @@ +//! Ensures that migration additions force a rebuild +// generated by `sqlx migrate build-script` +fn main() { + // trigger recompilation when a new migration is added + println!("cargo:rerun-if-changed=migrations"); +} diff --git a/chir-rs-db/migrations/20241123151924_add-file-table.sql b/chir-rs-db/migrations/20241123151924_add-file-table.sql new file mode 100644 index 0000000..912df51 --- /dev/null +++ b/chir-rs-db/migrations/20241123151924_add-file-table.sql @@ -0,0 +1,10 @@ +-- Add migration script here + +create table 'file' ( + id integer primary key not null, + file_path text not null, + mime text not null, + b3hash blob not null +); +create unique index file_path_mime on 'file' (file_path, mime); +create index file_path on 'file' (file_path); \ No newline at end of file diff --git a/chir-rs-db/src/file.rs b/chir-rs-db/src/file.rs new file mode 100644 index 0000000..feb1bff --- /dev/null +++ b/chir-rs-db/src/file.rs @@ -0,0 +1,190 @@ +//! File related APIs + +use bincode::{Decode, Encode}; +use blake3::Hash; +use eyre::Context as _; +use eyre::Result; +use serde::{Deserialize, Serialize}; +use sqlx::{prelude::FromRow, query_as, sqlite::SqliteRow}; +use sqlx::{query, Row as _}; +use tracing::instrument; + +use crate::Database; + +/// File record +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub struct File { + /// ID of the file record + id: u64, + /// Path this file is mounted at + pub file_path: String, + /// MIME type of file + pub mime: String, + /// blake3 hash of the file to serve + pub b3hash: Hash, +} + +impl Encode for File { + fn encode( + &self, + encoder: &mut E, + ) -> std::result::Result<(), bincode::error::EncodeError> { + self.id.encode(encoder)?; + self.file_path.encode(encoder)?; + self.mime.encode(encoder)?; + self.b3hash.as_bytes().encode(encoder) + } +} + +impl Decode for File { + fn decode( + decoder: &mut D, + ) -> std::result::Result { + let id = u64::decode(decoder)?; + let file_path = String::decode(decoder)?; + let mime = String::decode(decoder)?; + let b3hash = <[u8; 32]>::decode(decoder)?; + Ok(Self { + id, + file_path, + mime, + b3hash: Hash::from_bytes(b3hash), + }) + } +} + +impl<'r> FromRow<'r, SqliteRow> for File { + fn from_row(row: &'r SqliteRow) -> std::result::Result { + let id = u64::try_from(row.try_get::("id")?).unwrap_or_default(); + let file_path: String = row.try_get("file_path")?; + let mime: String = row.try_get("mime")?; + let b3hash: Vec = row.try_get("b3hash")?; + + if b3hash.len() != 32 { + return Err(sqlx::Error::ColumnDecode { + index: "b3hash".to_string(), + source: Box::new(std::io::Error::other("invalid b3 hash len")), + }); + } + + let mut b3hash_arr = [0u8; 32]; + b3hash_arr.copy_from_slice(&b3hash); + + Ok(Self { + id, + file_path, + mime, + b3hash: Hash::from_bytes(b3hash_arr), + }) + } +} + +impl File { + /// Attempts to load a file by path and mime type + /// + /// # Errors + /// This function returns an error if a database error occurs while loading. + #[instrument(skip(db))] + pub async fn get_by_path_mime(db: &Database, path: &str, mime: &str) -> Result> { + query_as("SELECT * FROM 'file' WHERE 'path' = ? AND 'mime' = ?") + .bind(path) + .bind(mime) + .fetch_optional(&*db.0) + .await + .with_context(|| format!("Loading file path {path} with mime type {mime}")) + } + + /// Attempts to load any files by path. + /// + /// # Errors + /// This function returns an error if a database error occurs while loading. + #[instrument(skip(db))] + pub async fn get_by_path(db: &Database, path: &str) -> Result> { + query_as("SELECT * FROM 'file' WHERE 'path' = ?") + .bind(path) + .fetch_all(&*db.0) + .await + .with_context(|| format!("Loading files with path {path}")) + } + + /// Returns a paginated view into the file table + /// + /// # Errors + /// This function returns an error if a database error occurs while loading. + #[instrument(skip(db))] + pub async fn list(db: &Database, after: i64, limit: usize) -> Result> { + let limit: i64 = limit.min(100).try_into().unwrap_or(100); // reasonable limit for pagination size + query_as("SELECT * FROM 'file' WHERE id > ? LIMIT ?") + .bind(after) + .bind(limit) + .fetch_all(&*db.0) + .await + .with_context(|| format!("Loading up to {limit} files after id {after}")) + } + + /// Creates a new file + /// + /// # Errors + /// This function returns an error if a database error occurs when writing, or there is a conflict + #[instrument(skip(db))] + pub async fn new(db: &Database, path: &str, mime: &str, hash: &Hash) -> Result<()> { + query_as("INSERT INTO 'file' ('file_path', 'mime', 'b3hash') VALUES (?, ?, ?) RETURNING *") + .bind(path) + .bind(mime) + .bind(hash.as_bytes().as_slice()) + .fetch_one(&*db.0) + .await + .with_context(|| format!("Inserting new file {path} with mime type {mime}")) + } + + /// Deletes a file record from the database. This does not perform any actual file deletion. + /// + /// # Errors + /// This function returns an error if removing the entry from the database fails. + #[instrument(skip(db))] + pub async fn delete(self, db: &Database) -> Result<()> { + let id: i64 = self.id.try_into()?; + query!("DELETE FROM 'file' WHERE 'id' = ?", id) + .execute(&*db.0) + .await + .with_context(|| { + format!( + "Deleting file {} with mime type {}", + self.file_path, self.mime + ) + })?; + Ok(()) + } + + /// Returns the immutable ID of the object + #[must_use] + pub const fn id(&self) -> u64 { + self.id + } + + /// Updates the file with new information + /// + /// # Errors + /// THis function returns an error if updating the entry in the database fails + #[instrument(skip(db))] + pub async fn update(&self, db: &Database) -> Result<()> { + let id: i64 = self.id.try_into()?; + let b3hash = self.b3hash.as_bytes().as_slice(); + query!( + "UPDATE 'file' SET 'file_path' = ?, 'mime' = ?, 'b3hash' = ? WHERE 'id' = ?", + self.file_path, + self.mime, + b3hash, + id + ) + .execute(&*db.0) + .await + .with_context(|| { + format!( + "Deleting file {} with mime type {}", + self.file_path, self.mime + ) + })?; + Ok(()) + } +} diff --git a/chir-rs-db/src/lib.rs b/chir-rs-db/src/lib.rs new file mode 100644 index 0000000..22e3326 --- /dev/null +++ b/chir-rs-db/src/lib.rs @@ -0,0 +1,27 @@ +//! Chir.rs database models + +use std::sync::Arc; + +use eyre::{Context, Result}; +use sqlx::{migrate, SqlitePool}; +use tracing::instrument; + +pub mod file; + +/// Opaque database handle +#[derive(Clone, Debug)] +#[repr(transparent)] +pub struct Database(Arc); + +/// Opens the database +/// +/// # Errors +/// This function returns an error if a connection to the database could not be established +#[instrument] +pub async fn open_database(path: &str) -> Result { + let pool = SqlitePool::connect(path) + .await + .with_context(|| format!("Opening database {path}"))?; + migrate!().run(&pool).await?; + Ok(Database(Arc::new(pool))) +} diff --git a/chir-rs-gemini/Cargo.toml b/chir-rs-gemini/Cargo.toml new file mode 100644 index 0000000..a060579 --- /dev/null +++ b/chir-rs-gemini/Cargo.toml @@ -0,0 +1,62 @@ +[package] +name = "chir-rs-gemini" +version = "0.1.0" +edition = "2021" + +[dependencies] +bytes = "1.8.0" +chir-rs-config = { version = "0.1.0", path = "../chir-rs-config" } +chir-rs-db = { version = "0.1.0", path = "../chir-rs-db" } +eyre = "0.6.12" +rustls = "0.23.18" +tokio = { version = "1.41.1", features = ["net"] } +tokio-rustls = "0.26.0" +tracing = "0.1.40" +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" diff --git a/chir-rs-gemini/src/lib.rs b/chir-rs-gemini/src/lib.rs new file mode 100644 index 0000000..ce3c09d --- /dev/null +++ b/chir-rs-gemini/src/lib.rs @@ -0,0 +1,53 @@ +//! Gemini server implementation for chir.rs + +use std::sync::Arc; + +use bytes::BytesMut; +use chir_rs_config::ChirRs; +use chir_rs_db::Database; +use eyre::Result; +use rustls::pki_types::{pem::PemObject, CertificateDer, PrivateKeyDer}; +use tokio::{ + io::{AsyncReadExt, AsyncWriteExt}, + net::TcpListener, +}; +use tokio_rustls::TlsAcceptor; +use tracing::{error, info}; + +/// entrypoint for the gemini server +/// +/// # Errors +/// +/// This function returns an error if starting the gemini server fails +pub async fn main(cfg: Arc, _: Database) -> Result<()> { + let certs = + CertificateDer::pem_file_iter(&cfg.gemini.certificate)?.collect::, _>>()?; + let key = PrivateKeyDer::from_pem_file(&cfg.gemini.private_key)?; + let config = rustls::ServerConfig::builder_with_provider(Arc::new( + rustls::crypto::aws_lc_rs::default_provider(), + )) + .with_safe_default_protocol_versions()? + .with_no_client_auth() + .with_single_cert(certs, key)?; + let acceptor = TlsAcceptor::from(Arc::new(config)); + let listener = TcpListener::bind(&*cfg.gemini.listen).await?; + info!("Starting Gemini server on {:?}", cfg.gemini.listen); + loop { + let (stream, _peer_addr) = listener.accept().await?; + let acceptor = acceptor.clone(); + let fut = async move { + let mut stream = acceptor.accept(stream).await?; + let mut request = BytesMut::with_capacity(4096); + stream.read_buf(&mut request).await?; + println!("{request:?}"); + stream.write_all(b"51\r\n").await?; + stream.shutdown().await?; + Ok::<_, eyre::Report>(()) + }; + tokio::spawn(async move { + if let Err(err) = fut.await { + error!("Failed to handle request: {err:?}"); + } + }); + } +} diff --git a/chir-rs-http-api/Cargo.toml b/chir-rs-http-api/Cargo.toml new file mode 100644 index 0000000..a565a03 --- /dev/null +++ b/chir-rs-http-api/Cargo.toml @@ -0,0 +1,66 @@ +[package] +name = "chir-rs-http-api" +version = "0.1.0" +edition = "2021" + +[features] +axum = ["axum-core", "async-trait", "bytes", "mime", "tracing"] + +[dependencies] +async-trait = { version = "0.1.83", optional = true } +axum-core = { version = "0.4.5", optional = true } +bincode = "2.0.0-rc.3" +bytes = { version = "1.8.0", optional = true } +http = "1.1.0" +mime = { version = "0.3.17", optional = true } +thiserror = "2.0.3" +tracing = { version = "0.1.40", optional = true } + +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" diff --git a/chir-rs-http-api/src/axum/bincode.rs b/chir-rs-http-api/src/axum/bincode.rs new file mode 100644 index 0000000..9ceb7a7 --- /dev/null +++ b/chir-rs-http-api/src/axum/bincode.rs @@ -0,0 +1,88 @@ +//! Binary serialization format + +use async_trait::async_trait; +use axum_core::{ + extract::{FromRequest, Request}, + response::{IntoResponse, Response}, +}; +use bincode::{Decode, Encode}; +use bytes::{BufMut as _, Bytes, BytesMut}; +use http::{header::CONTENT_TYPE, HeaderValue, StatusCode}; +use tracing::error; + +use crate::errors::APIError; + +/// Bincode wrapper +#[derive(Debug, Clone, Copy, Default)] +#[repr(transparent)] +#[must_use] +pub struct Bincode(pub T); + +impl IntoResponse for APIError { + fn into_response(self) -> Response { + (self.status_code(), Bincode(self)).into_response() + } +} + +#[async_trait] +impl FromRequest for Bincode +where + T: Decode, + S: Send + Sync, +{ + type Rejection = APIError; + async fn from_request(req: Request, state: &S) -> Result { + match req.headers().get(CONTENT_TYPE) { + Some(c) if c == "application/x+bincode" => { + let bytes = Bytes::from_request(req, state).await?; + match bincode::decode_from_slice(&bytes, bincode::config::standard()) { + Ok(v) => Ok(Self(v.0)), + Err(e) => { + error!("Body decode error: {e:?}"); + Err(APIError::PayloadInvalid) + } + } + } + Some(c) => Err(APIError::ClientInvalidContentType { + expected: "application/x+bincode".to_string(), + received: c + .to_str() + .map_or_else(|_| format!("{c:?}"), ToString::to_string), + }), + _ => Err(APIError::ClientMissingContentType { + expected: "application/x+bincode".to_string(), + }), + } + } +} + +impl IntoResponse for Bincode +where + T: Encode, +{ + fn into_response(self) -> Response { + let mut buf = BytesMut::with_capacity(128).writer(); + match bincode::encode_into_std_write(self.0, &mut buf, bincode::config::standard()) { + Ok(_) => ( + [( + CONTENT_TYPE, + HeaderValue::from_static("application/x+bincode"), + )], + buf.into_inner().freeze(), + ) + .into_response(), + Err(err) => { + error!("Failed to encode bincode response: {err:?}"); + ( + StatusCode::INTERNAL_SERVER_ERROR, + [( + CONTENT_TYPE, + HeaderValue::from_static(mime::TEXT_PLAIN_UTF_8.as_ref()), + )], + "internal server error".to_string(), + ) + .into_response() + } + } + } +} diff --git a/chir-rs-http-api/src/axum/error.rs b/chir-rs-http-api/src/axum/error.rs new file mode 100644 index 0000000..3300127 --- /dev/null +++ b/chir-rs-http-api/src/axum/error.rs @@ -0,0 +1,40 @@ +//! Error type impls + +use axum_core::extract::rejection::{ + BytesRejection, FailedToBufferBody, LengthLimitError, UnknownBodyError, +}; + +use crate::errors::APIError; + +impl From for APIError { + fn from(_: LengthLimitError) -> Self { + Self::PayloadTooBig + } +} + +impl From for APIError { + fn from(_: UnknownBodyError) -> Self { + Self::PayloadLoadError + } +} + +impl From for APIError { + fn from(value: FailedToBufferBody) -> Self { + match value { + FailedToBufferBody::LengthLimitError(length_limit_error) => length_limit_error.into(), + FailedToBufferBody::UnknownBodyError(unknown_body_error) => unknown_body_error.into(), + rest => Self::Unknown(format!("Unknown FailedToBufferBody: {rest:?}")), + } + } +} + +impl From for APIError { + fn from(value: BytesRejection) -> Self { + match value { + BytesRejection::FailedToBufferBody(failed_to_buffer_body) => { + failed_to_buffer_body.into() + } + rest => Self::Unknown(format!("Unknown BytesRejection: {rest:?}")), + } + } +} diff --git a/chir-rs-http-api/src/axum/mod.rs b/chir-rs-http-api/src/axum/mod.rs new file mode 100644 index 0000000..1de79e8 --- /dev/null +++ b/chir-rs-http-api/src/axum/mod.rs @@ -0,0 +1,4 @@ +//! Axum support + +pub mod bincode; +mod error; diff --git a/chir-rs-http-api/src/errors/mod.rs b/chir-rs-http-api/src/errors/mod.rs new file mode 100644 index 0000000..a10520b --- /dev/null +++ b/chir-rs-http-api/src/errors/mod.rs @@ -0,0 +1,51 @@ +//! Main error type + +use bincode::{Decode, Encode}; +use http::StatusCode; +use thiserror::Error; + +/// The main error type +#[derive(Clone, Debug, PartialEq, Eq, Encode, Decode, Error)] +pub enum APIError { + /// Returned when the client sends the wrong content type to the server. + #[error("Invalid content type: Expected {expected}, Received {received}")] + ClientInvalidContentType { + /// Expected value of the content type + expected: String, + /// Received value of the content type + received: String, + }, + /// Returned when the client does not send a content type header + #[error("Missing content type: Expected {expected}")] + ClientMissingContentType { + /// Expected value of the content type + expected: String, + }, + /// Returned when the client payload is too large. + #[error("Invalid payload: Too large")] + PayloadTooBig, + /// Returned when there is an unknown error loading the client payloud + #[error("Failed to load payload")] + PayloadLoadError, + /// Returned when the client payload is malformed + #[error("Invalid payload")] + PayloadInvalid, + /// Returned when the error is unknown + #[error("Unknown Error")] + Unknown(String), +} + +impl APIError { + /// Returns the HTTP Status code of the error + #[must_use] + pub const fn status_code(&self) -> StatusCode { + match *self { + Self::ClientInvalidContentType { .. } | Self::ClientMissingContentType { .. } => { + StatusCode::UNSUPPORTED_MEDIA_TYPE + } + Self::PayloadTooBig => StatusCode::PAYLOAD_TOO_LARGE, + Self::PayloadLoadError | Self::PayloadInvalid => StatusCode::BAD_REQUEST, + Self::Unknown(_) => StatusCode::INTERNAL_SERVER_ERROR, + } + } +} diff --git a/chir-rs-http-api/src/lib.rs b/chir-rs-http-api/src/lib.rs new file mode 100644 index 0000000..d33baa4 --- /dev/null +++ b/chir-rs-http-api/src/lib.rs @@ -0,0 +1,6 @@ +//! API Type Definitions for chir.rs + +#[cfg(feature = "axum")] +pub mod axum; +pub mod errors; +pub mod readiness; diff --git a/chir-rs-http-api/src/readiness.rs b/chir-rs-http-api/src/readiness.rs new file mode 100644 index 0000000..edac679 --- /dev/null +++ b/chir-rs-http-api/src/readiness.rs @@ -0,0 +1,12 @@ +//! APIs for testing readiness + +use bincode::{Decode, Encode}; + +/// Current Ready State +#[derive(Copy, Clone, Debug, PartialEq, Eq, Encode, Decode)] +pub enum ReadyState { + /// Indicates that this service is ready to receive requests + Ready, + /// Indicates that this service is not yet ready to receive requests + NotReady, +} diff --git a/chir-rs-http/Cargo.toml b/chir-rs-http/Cargo.toml new file mode 100644 index 0000000..a3f66f3 --- /dev/null +++ b/chir-rs-http/Cargo.toml @@ -0,0 +1,67 @@ +[package] +name = "chir-rs-http" +version = "0.1.0" +edition = "2021" + +[dependencies] +axum = { version = "0.7.9", features = ["tracing"] } +axum-prometheus = "0.7.0" +chir-rs-config = { version = "0.1.0", path = "../chir-rs-config" } +chir-rs-db = { version = "0.1.0", path = "../chir-rs-db" } +chir-rs-http-api = { version = "0.1.0", path = "../chir-rs-http-api", features = [ + "axum", +] } +eyre = "0.6.12" +sentry-tower = { version = "0.34.0", features = ["axum", "axum-matched-path"] } +tokio = { version = "1.41.1", features = ["net"] } +tower-http = { version = "0.6.2", features = ["trace"] } +tracing = "0.1.40" + +[lints.rust] +deprecated-safe = "forbid" +elided_lifetimes_in_paths = "warn" +explicit_outlives_requirements = "warn" +impl-trait-overcaptures = "warn" +keyword-idents-2024 = "forbid" +let-underscore-drop = "warn" +macro-use-extern-crate = "deny" +meta-variable-misuse = "deny" +missing-abi = "forbid" +missing-copy-implementations = "warn" +missing-debug-implementations = "deny" +missing-docs = "warn" +missing-unsafe-on-extern = "deny" +non-local-definitions = "warn" +redundant-lifetimes = "warn" +single-use-lifetimes = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +unit-bindings = "deny" +unnameable-types = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unused-crate-dependencies = "warn" +unused-extern-crates = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-macro-rules = "warn" +unused-qualifications = "warn" +variant-size-differences = "warn" + +[lints.clippy] +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module-name-repetitions = "allow" +alloc-instead-of-core = "warn" +allow-attributes-without-reason = "deny" +assertions-on-result-states = "forbid" +clone-on-ref-ptr = "warn" +empty-drop = "warn" +expect-used = "deny" +inline-asm-x86-att-syntax = "forbid" +missing-docs-in-private-items = "warn" +panic = "deny" +panic-in-result-fn = "forbid" +rc-buffer = "warn" +rc-mutex = "deny" +unwrap-used = "forbid" diff --git a/chir-rs-http/src/lib.rs b/chir-rs-http/src/lib.rs new file mode 100644 index 0000000..0dbdeb9 --- /dev/null +++ b/chir-rs-http/src/lib.rs @@ -0,0 +1,73 @@ +//! HTTP server implementation for chir-rs + +use std::sync::Arc; + +use axum::{ + extract::{MatchedPath, Request, State}, + routing::get, + Router, +}; +use axum_prometheus::PrometheusMetricLayer; +use chir_rs_config::ChirRs; +use chir_rs_db::{file::File, Database}; +use chir_rs_http_api::{axum::bincode::Bincode, readiness::ReadyState}; +use eyre::{Context, Result}; +use tokio::net::TcpListener; +use tower_http::trace::TraceLayer; +use tracing::{info, info_span}; + +/// Application state +#[derive(Clone, Debug)] +pub struct AppState { + /// Database handle + pub db: Database, +} + +/// Entrypoint for the HTTP server component +/// +/// # Errors +/// This function returns an error if the startup of the server fails. +/// +/// Errors it encounters during runtime should be automatically handled. +pub async fn main(cfg: Arc, db: Database) -> Result<()> { + let (prometheus_layer, metric_handle) = PrometheusMetricLayer::pair(); + let app = Router::new() + // Routes here + .route("/.api/readyz", get(|| async { Bincode(ReadyState::Ready) })) + .route( + "/.api/metrics", + get(|| async move { metric_handle.render() }), + ) + .route( + "/", + get(|State(state): State| async move { + Bincode(File::list(&state.db, 0, 100).await.ok()) + }), + ) + .with_state(AppState { db }) + .layer( + TraceLayer::new_for_http().make_span_with(|request: &Request<_>| { + let matched_path = request + .extensions() + .get::() + .map(MatchedPath::as_str); + + info_span!( + "http_request", + method = ?request.method(), + matched_path, + ) + }), + ) + .layer(prometheus_layer) + .layer(sentry_tower::NewSentryLayer::::new_from_top()) + .layer(sentry_tower::SentryHttpLayer::with_transaction()); + let listener = TcpListener::bind(&*cfg.http.listen) + .await + .with_context(|| format!("Binding to TCP {:?}", cfg.http.listen))?; + info!("Starting HTTP server on {:?}", cfg.http.listen); + axum::serve(listener, app) + .await + .context("Starting Axum Server")?; + Ok(()) +} diff --git a/config-example.toml b/config-example.toml new file mode 100644 index 0000000..144802f --- /dev/null +++ b/config-example.toml @@ -0,0 +1,15 @@ +[logging] +#sentry_dsn = "…" +log_level = "debug" +log_style = "Pretty" +[http] +listen = "[::1]:5621" +# Alternatively: +# listen = ["127.0.0.1:5621", "10.0.0.0:12345", "[::1]:5621"] +[gemini] +listen = "[::]:1965" +host = "lotte.chir.rs" +private_key = "secrets/server.key" +certificate = "secrets/server.crt" +[database] +path = "secrets/test.db" diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..39286ef --- /dev/null +++ b/flake.lock @@ -0,0 +1,141 @@ +{ + "nodes": { + "cargo2nix": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": [ + "rust-overlay" + ] + }, + "locked": { + "lastModified": 1726552619, + "narHash": "sha256-ytTBILVMnRZYvjiLYz+J6IFf/TOXdGuP6RDesMx9qgA=", + "owner": "DarkKirb", + "repo": "cargo2nix", + "rev": "baa12124e2de09e1cbbdac320f14809fa55af1a2", + "type": "github" + }, + "original": { + "owner": "DarkKirb", + "ref": "master", + "repo": "cargo2nix", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz?rev=0f9255e01c2351cc7d116c072cb317785dd33b33&revCount=57" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1732604498, + "narHash": "sha256-jLSaysOTd7nj4sR0FG5ruTz2QBBPR/dInANBIDtJLog=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "096ede7f2b180f03d53fae3d69e4f0d84e199825", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "cargo2nix": "cargo2nix", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732588352, + "narHash": "sha256-J2/hxOO1VtBA/u+a+9E+3iJpWT3xsBdghgYAVfoGCJo=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "414e748aae5c9e6ca63c5aafffda03e5dad57ceb", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..1eb5075 --- /dev/null +++ b/flake.nix @@ -0,0 +1,73 @@ +{ + description = "rust-template"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs"; + flake-utils.url = "github:numtide/flake-utils"; + + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + cargo2nix = { + url = "github:DarkKirb/cargo2nix/master"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + inputs.rust-overlay.follows = "rust-overlay"; + }; + flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"; + }; + + outputs = + { + self, + nixpkgs, + flake-utils, + rust-overlay, + cargo2nix, + ... + }@inputs: + flake-utils.lib.eachSystem [ "x86_64-linux" ] ( + system: + let + overlays = [ + cargo2nix.overlays.default + (import rust-overlay) + ]; + pkgs = import nixpkgs { + inherit system overlays; + }; + rustPkgs = pkgs.rustBuilder.makePackageSet { + packageFun = import ./Cargo.nix; + rustChannel = "stable"; + rustVersion = "latest"; + packageOverrides = pkgs: pkgs.rustBuilder.overrides.all; + }; + in + rec { + devShells.default = + with pkgs; + mkShell { + buildInputs = [ + cargo2nix.packages.${system}.cargo2nix + rustfilt + gdb + sqlx-cli + cargo-expand + sqlite + ]; + }; + packages = pkgs.lib.mapAttrs (_: v: (v { }).overrideAttrs { dontStrip = true; }) rustPkgs.workspace; + nixosModules.default = import ./nixos { + inherit inputs system; + }; + checks = pkgs.lib.mapAttrs (_: v: pkgs.rustBuilder.runTests v { }) rustPkgs.workspace; + hydraJobs = { + inherit packages checks; + }; + formatter = pkgs.nixfmt-rfc-style; + } + ); +} +# Trick renovate into working: "github:NixOS/nixpkgs/nixpkgs-unstable" diff --git a/gencert.sh b/gencert.sh new file mode 100755 index 0000000..738508b --- /dev/null +++ b/gencert.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env nix-shell +#! nix-shell -p openssh -i bash + +openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout secrets/server.key -out secrets/server.crt \ No newline at end of file diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..2bf50ba --- /dev/null +++ b/src/main.rs @@ -0,0 +1,103 @@ +//! Main entrypoint for the chir-rs web server + +use core::str::FromStr; +use std::sync::Arc; + +use chir_rs_config::ChirRs; +use eyre::{Context, Result}; +// implicitly used +use sentry_eyre as _; +use tokio::try_join; +use tracing_error::ErrorLayer; +use tracing_subscriber::{ + fmt::format::JsonFields, layer::SubscriberExt as _, util::SubscriberInitExt as _, Layer, +}; + +fn main() -> Result<()> { + color_eyre::install().ok(); + dotenvy::dotenv().ok(); + + // NO THREADS BEFORE THIS POINT + + let cfg = ChirRs::read_from_env().context("Reading chir.rs configuration")?; + + let _guard = sentry::init(sentry::ClientOptions { + dsn: cfg.logging.sentry_dsn.clone(), + release: sentry::release_name!(), + traces_sample_rate: 1.0, + attach_stacktrace: true, + debug: cfg!(debug_assertions), + ..Default::default() + }); + + let log_filter = tracing_subscriber::EnvFilter::from_str(&cfg.logging.log_level) + .with_context(|| format!("Setting log filter to {}", cfg.logging.log_level))?; + + match cfg.logging.log_style { + chir_rs_config::LogFormat::Full => { + let log_format = tracing_subscriber::fmt::format(); + tracing_subscriber::registry() + .with( + tracing_subscriber::fmt::layer() + .event_format(log_format) + .with_filter(log_filter), + ) + .with(ErrorLayer::default()) + .with(sentry_tracing::layer()) + .init(); + } + chir_rs_config::LogFormat::Compact => { + let log_format = tracing_subscriber::fmt::format().compact(); + tracing_subscriber::registry() + .with( + tracing_subscriber::fmt::layer() + .event_format(log_format) + .with_filter(log_filter), + ) + .with(ErrorLayer::default()) + .with(sentry_tracing::layer()) + .init(); + } + chir_rs_config::LogFormat::Pretty => { + let log_format = tracing_subscriber::fmt::format().pretty(); + tracing_subscriber::registry() + .with( + tracing_subscriber::fmt::layer() + .event_format(log_format) + .with_filter(log_filter), + ) + .with(ErrorLayer::default()) + .with(sentry_tracing::layer()) + .init(); + } + chir_rs_config::LogFormat::Json => { + let log_format = tracing_subscriber::fmt::format().json(); + tracing_subscriber::registry() + .with( + tracing_subscriber::fmt::layer() + .event_format(log_format) + .fmt_fields(JsonFields::new()) + .with_filter(log_filter), + ) + .with(ErrorLayer::default()) + .with(sentry_tracing::layer()) + .init(); + } + } + + tokio::runtime::Builder::new_multi_thread() + .enable_all() + .build() + .context("Building thread pool for tokio")? + .block_on(async move { + let cfg = Arc::new(cfg); + let db = chir_rs_db::open_database(&cfg.database.path).await?; + try_join!( + chir_rs_http::main(Arc::clone(&cfg), db.clone()), + chir_rs_gemini::main(Arc::clone(&cfg), db.clone()) + ) + .context("Starting server components")?; + Ok::<_, eyre::Report>(()) + }) + .context("Running chir.rs") +}