ceres: a small planet in a giant solar system
33
fork

Configure Feed

Select the types of activity you want to include in your feed.

good enough start

+5013
+2
.gitignore
··· 1 + /target 2 + .env
+4719
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "adler2" 7 + version = "2.0.1" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 10 + 11 + [[package]] 12 + name = "adler32" 13 + version = "1.2.0" 14 + source = "registry+https://github.com/rust-lang/crates.io-index" 15 + checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" 16 + 17 + [[package]] 18 + name = "aho-corasick" 19 + version = "1.1.4" 20 + source = "registry+https://github.com/rust-lang/crates.io-index" 21 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 22 + dependencies = [ 23 + "memchr", 24 + ] 25 + 26 + [[package]] 27 + name = "aliasable" 28 + version = "0.1.3" 29 + source = "registry+https://github.com/rust-lang/crates.io-index" 30 + checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" 31 + 32 + [[package]] 33 + name = "alloc-no-stdlib" 34 + version = "2.0.4" 35 + source = "registry+https://github.com/rust-lang/crates.io-index" 36 + checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 37 + 38 + [[package]] 39 + name = "alloc-stdlib" 40 + version = "0.2.2" 41 + source = "registry+https://github.com/rust-lang/crates.io-index" 42 + checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 43 + dependencies = [ 44 + "alloc-no-stdlib", 45 + ] 46 + 47 + [[package]] 48 + name = "allocator-api2" 49 + version = "0.2.21" 50 + source = "registry+https://github.com/rust-lang/crates.io-index" 51 + checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 52 + 53 + [[package]] 54 + name = "android_system_properties" 55 + version = "0.1.5" 56 + source = "registry+https://github.com/rust-lang/crates.io-index" 57 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 58 + dependencies = [ 59 + "libc", 60 + ] 61 + 62 + [[package]] 63 + name = "anstream" 64 + version = "1.0.0" 65 + source = "registry+https://github.com/rust-lang/crates.io-index" 66 + checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" 67 + dependencies = [ 68 + "anstyle", 69 + "anstyle-parse", 70 + "anstyle-query", 71 + "anstyle-wincon", 72 + "colorchoice", 73 + "is_terminal_polyfill", 74 + "utf8parse", 75 + ] 76 + 77 + [[package]] 78 + name = "anstyle" 79 + version = "1.0.14" 80 + source = "registry+https://github.com/rust-lang/crates.io-index" 81 + checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" 82 + 83 + [[package]] 84 + name = "anstyle-parse" 85 + version = "1.0.0" 86 + source = "registry+https://github.com/rust-lang/crates.io-index" 87 + checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" 88 + dependencies = [ 89 + "utf8parse", 90 + ] 91 + 92 + [[package]] 93 + name = "anstyle-query" 94 + version = "1.1.5" 95 + source = "registry+https://github.com/rust-lang/crates.io-index" 96 + checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" 97 + dependencies = [ 98 + "windows-sys 0.61.2", 99 + ] 100 + 101 + [[package]] 102 + name = "anstyle-wincon" 103 + version = "3.0.11" 104 + source = "registry+https://github.com/rust-lang/crates.io-index" 105 + checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" 106 + dependencies = [ 107 + "anstyle", 108 + "once_cell_polyfill", 109 + "windows-sys 0.61.2", 110 + ] 111 + 112 + [[package]] 113 + name = "ascii" 114 + version = "1.1.0" 115 + source = "registry+https://github.com/rust-lang/crates.io-index" 116 + checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" 117 + 118 + [[package]] 119 + name = "async-compression" 120 + version = "0.4.41" 121 + source = "registry+https://github.com/rust-lang/crates.io-index" 122 + checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" 123 + dependencies = [ 124 + "compression-codecs", 125 + "compression-core", 126 + "pin-project-lite", 127 + "tokio", 128 + ] 129 + 130 + [[package]] 131 + name = "async-trait" 132 + version = "0.1.89" 133 + source = "registry+https://github.com/rust-lang/crates.io-index" 134 + checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" 135 + dependencies = [ 136 + "proc-macro2", 137 + "quote", 138 + "syn", 139 + ] 140 + 141 + [[package]] 142 + name = "atomic-polyfill" 143 + version = "1.0.3" 144 + source = "registry+https://github.com/rust-lang/crates.io-index" 145 + checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" 146 + dependencies = [ 147 + "critical-section", 148 + ] 149 + 150 + [[package]] 151 + name = "atomic-waker" 152 + version = "1.1.2" 153 + source = "registry+https://github.com/rust-lang/crates.io-index" 154 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 155 + 156 + [[package]] 157 + name = "autocfg" 158 + version = "1.5.0" 159 + source = "registry+https://github.com/rust-lang/crates.io-index" 160 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 161 + 162 + [[package]] 163 + name = "axum" 164 + version = "0.8.9" 165 + source = "registry+https://github.com/rust-lang/crates.io-index" 166 + checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" 167 + dependencies = [ 168 + "axum-core", 169 + "bytes", 170 + "form_urlencoded", 171 + "futures-util", 172 + "http", 173 + "http-body", 174 + "http-body-util", 175 + "hyper", 176 + "hyper-util", 177 + "itoa", 178 + "matchit", 179 + "memchr", 180 + "mime", 181 + "percent-encoding", 182 + "pin-project-lite", 183 + "serde_core", 184 + "serde_json", 185 + "serde_path_to_error", 186 + "serde_urlencoded", 187 + "sync_wrapper", 188 + "tokio", 189 + "tower", 190 + "tower-layer", 191 + "tower-service", 192 + "tracing", 193 + ] 194 + 195 + [[package]] 196 + name = "axum-core" 197 + version = "0.5.6" 198 + source = "registry+https://github.com/rust-lang/crates.io-index" 199 + checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" 200 + dependencies = [ 201 + "bytes", 202 + "futures-core", 203 + "http", 204 + "http-body", 205 + "http-body-util", 206 + "mime", 207 + "pin-project-lite", 208 + "sync_wrapper", 209 + "tower-layer", 210 + "tower-service", 211 + "tracing", 212 + ] 213 + 214 + [[package]] 215 + name = "base-x" 216 + version = "0.2.11" 217 + source = "registry+https://github.com/rust-lang/crates.io-index" 218 + checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 219 + 220 + [[package]] 221 + name = "base16ct" 222 + version = "0.2.0" 223 + source = "registry+https://github.com/rust-lang/crates.io-index" 224 + checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 225 + 226 + [[package]] 227 + name = "base256emoji" 228 + version = "1.0.2" 229 + source = "registry+https://github.com/rust-lang/crates.io-index" 230 + checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" 231 + dependencies = [ 232 + "const-str", 233 + "match-lookup", 234 + ] 235 + 236 + [[package]] 237 + name = "base64" 238 + version = "0.13.1" 239 + source = "registry+https://github.com/rust-lang/crates.io-index" 240 + checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 241 + 242 + [[package]] 243 + name = "base64" 244 + version = "0.22.1" 245 + source = "registry+https://github.com/rust-lang/crates.io-index" 246 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 247 + 248 + [[package]] 249 + name = "base64ct" 250 + version = "1.8.3" 251 + source = "registry+https://github.com/rust-lang/crates.io-index" 252 + checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" 253 + 254 + [[package]] 255 + name = "bitflags" 256 + version = "2.11.1" 257 + source = "registry+https://github.com/rust-lang/crates.io-index" 258 + checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" 259 + 260 + [[package]] 261 + name = "block-buffer" 262 + version = "0.10.4" 263 + source = "registry+https://github.com/rust-lang/crates.io-index" 264 + checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 265 + dependencies = [ 266 + "generic-array", 267 + ] 268 + 269 + [[package]] 270 + name = "bon" 271 + version = "3.9.1" 272 + source = "registry+https://github.com/rust-lang/crates.io-index" 273 + checksum = "f47dbe92550676ee653353c310dfb9cf6ba17ee70396e1f7cf0a2020ad49b2fe" 274 + dependencies = [ 275 + "bon-macros", 276 + "rustversion", 277 + ] 278 + 279 + [[package]] 280 + name = "bon-macros" 281 + version = "3.9.1" 282 + source = "registry+https://github.com/rust-lang/crates.io-index" 283 + checksum = "519bd3116aeeb42d5372c29d982d16d0170d3d4a5ed85fc7dd91642ffff3c67c" 284 + dependencies = [ 285 + "darling", 286 + "ident_case", 287 + "prettyplease", 288 + "proc-macro2", 289 + "quote", 290 + "rustversion", 291 + "syn", 292 + ] 293 + 294 + [[package]] 295 + name = "borrow-or-share" 296 + version = "0.2.4" 297 + source = "registry+https://github.com/rust-lang/crates.io-index" 298 + checksum = "dc0b364ead1874514c8c2855ab558056ebfeb775653e7ae45ff72f28f8f3166c" 299 + 300 + [[package]] 301 + name = "borsh" 302 + version = "1.6.1" 303 + source = "registry+https://github.com/rust-lang/crates.io-index" 304 + checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" 305 + dependencies = [ 306 + "bytes", 307 + "cfg_aliases", 308 + ] 309 + 310 + [[package]] 311 + name = "brotli" 312 + version = "3.5.0" 313 + source = "registry+https://github.com/rust-lang/crates.io-index" 314 + checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" 315 + dependencies = [ 316 + "alloc-no-stdlib", 317 + "alloc-stdlib", 318 + "brotli-decompressor", 319 + ] 320 + 321 + [[package]] 322 + name = "brotli-decompressor" 323 + version = "2.5.1" 324 + source = "registry+https://github.com/rust-lang/crates.io-index" 325 + checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" 326 + dependencies = [ 327 + "alloc-no-stdlib", 328 + "alloc-stdlib", 329 + ] 330 + 331 + [[package]] 332 + name = "buf_redux" 333 + version = "0.8.4" 334 + source = "registry+https://github.com/rust-lang/crates.io-index" 335 + checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" 336 + dependencies = [ 337 + "memchr", 338 + "safemem", 339 + ] 340 + 341 + [[package]] 342 + name = "bumpalo" 343 + version = "3.20.2" 344 + source = "registry+https://github.com/rust-lang/crates.io-index" 345 + checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" 346 + 347 + [[package]] 348 + name = "byteorder" 349 + version = "1.5.0" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 352 + 353 + [[package]] 354 + name = "bytes" 355 + version = "1.11.1" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" 358 + dependencies = [ 359 + "serde", 360 + ] 361 + 362 + [[package]] 363 + name = "cbor4ii" 364 + version = "0.2.14" 365 + source = "registry+https://github.com/rust-lang/crates.io-index" 366 + checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4" 367 + dependencies = [ 368 + "serde", 369 + ] 370 + 371 + [[package]] 372 + name = "cc" 373 + version = "1.2.60" 374 + source = "registry+https://github.com/rust-lang/crates.io-index" 375 + checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" 376 + dependencies = [ 377 + "find-msvc-tools", 378 + "shlex", 379 + ] 380 + 381 + [[package]] 382 + name = "ceres" 383 + version = "0.1.0" 384 + dependencies = [ 385 + "axum", 386 + "dotenvy", 387 + "env_logger", 388 + "jacquard", 389 + "jacquard-api", 390 + "jacquard-axum", 391 + "log", 392 + "serde", 393 + "serde_json", 394 + "tokio", 395 + "tower-http", 396 + ] 397 + 398 + [[package]] 399 + name = "cesu8" 400 + version = "1.1.0" 401 + source = "registry+https://github.com/rust-lang/crates.io-index" 402 + checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 403 + 404 + [[package]] 405 + name = "cfg-if" 406 + version = "1.0.4" 407 + source = "registry+https://github.com/rust-lang/crates.io-index" 408 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 409 + 410 + [[package]] 411 + name = "cfg_aliases" 412 + version = "0.2.1" 413 + source = "registry+https://github.com/rust-lang/crates.io-index" 414 + checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 415 + 416 + [[package]] 417 + name = "chrono" 418 + version = "0.4.44" 419 + source = "registry+https://github.com/rust-lang/crates.io-index" 420 + checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" 421 + dependencies = [ 422 + "iana-time-zone", 423 + "js-sys", 424 + "num-traits", 425 + "serde", 426 + "wasm-bindgen", 427 + "windows-link", 428 + ] 429 + 430 + [[package]] 431 + name = "chunked_transfer" 432 + version = "1.5.0" 433 + source = "registry+https://github.com/rust-lang/crates.io-index" 434 + checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" 435 + 436 + [[package]] 437 + name = "ciborium" 438 + version = "0.2.2" 439 + source = "registry+https://github.com/rust-lang/crates.io-index" 440 + checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" 441 + dependencies = [ 442 + "ciborium-io", 443 + "ciborium-ll", 444 + "serde", 445 + ] 446 + 447 + [[package]] 448 + name = "ciborium-io" 449 + version = "0.2.2" 450 + source = "registry+https://github.com/rust-lang/crates.io-index" 451 + checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" 452 + 453 + [[package]] 454 + name = "ciborium-ll" 455 + version = "0.2.2" 456 + source = "registry+https://github.com/rust-lang/crates.io-index" 457 + checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" 458 + dependencies = [ 459 + "ciborium-io", 460 + "half", 461 + ] 462 + 463 + [[package]] 464 + name = "cid" 465 + version = "0.11.2" 466 + source = "registry+https://github.com/rust-lang/crates.io-index" 467 + checksum = "cbb4913a732503de004e94ce7a4e7119ffc55d1727cc9979ac3b52f511e6578c" 468 + dependencies = [ 469 + "multibase", 470 + "multihash", 471 + "no_std_io2", 472 + "serde", 473 + "serde_bytes", 474 + "unsigned-varint", 475 + ] 476 + 477 + [[package]] 478 + name = "cobs" 479 + version = "0.3.0" 480 + source = "registry+https://github.com/rust-lang/crates.io-index" 481 + checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" 482 + dependencies = [ 483 + "thiserror 2.0.18", 484 + ] 485 + 486 + [[package]] 487 + name = "colorchoice" 488 + version = "1.0.5" 489 + source = "registry+https://github.com/rust-lang/crates.io-index" 490 + checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" 491 + 492 + [[package]] 493 + name = "combine" 494 + version = "4.6.7" 495 + source = "registry+https://github.com/rust-lang/crates.io-index" 496 + checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 497 + dependencies = [ 498 + "bytes", 499 + "memchr", 500 + ] 501 + 502 + [[package]] 503 + name = "compression-codecs" 504 + version = "0.4.37" 505 + source = "registry+https://github.com/rust-lang/crates.io-index" 506 + checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" 507 + dependencies = [ 508 + "compression-core", 509 + "flate2", 510 + "memchr", 511 + ] 512 + 513 + [[package]] 514 + name = "compression-core" 515 + version = "0.4.31" 516 + source = "registry+https://github.com/rust-lang/crates.io-index" 517 + checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" 518 + 519 + [[package]] 520 + name = "const-oid" 521 + version = "0.9.6" 522 + source = "registry+https://github.com/rust-lang/crates.io-index" 523 + checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 524 + 525 + [[package]] 526 + name = "const-str" 527 + version = "0.4.3" 528 + source = "registry+https://github.com/rust-lang/crates.io-index" 529 + checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" 530 + 531 + [[package]] 532 + name = "cordyceps" 533 + version = "0.3.4" 534 + source = "registry+https://github.com/rust-lang/crates.io-index" 535 + checksum = "688d7fbb8092b8de775ef2536f36c8c31f2bc4006ece2e8d8ad2d17d00ce0a2a" 536 + dependencies = [ 537 + "loom", 538 + "tracing", 539 + ] 540 + 541 + [[package]] 542 + name = "core-foundation" 543 + version = "0.9.4" 544 + source = "registry+https://github.com/rust-lang/crates.io-index" 545 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 546 + dependencies = [ 547 + "core-foundation-sys", 548 + "libc", 549 + ] 550 + 551 + [[package]] 552 + name = "core-foundation" 553 + version = "0.10.1" 554 + source = "registry+https://github.com/rust-lang/crates.io-index" 555 + checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" 556 + dependencies = [ 557 + "core-foundation-sys", 558 + "libc", 559 + ] 560 + 561 + [[package]] 562 + name = "core-foundation-sys" 563 + version = "0.8.7" 564 + source = "registry+https://github.com/rust-lang/crates.io-index" 565 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 566 + 567 + [[package]] 568 + name = "cpufeatures" 569 + version = "0.2.17" 570 + source = "registry+https://github.com/rust-lang/crates.io-index" 571 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 572 + dependencies = [ 573 + "libc", 574 + ] 575 + 576 + [[package]] 577 + name = "crc32fast" 578 + version = "1.5.0" 579 + source = "registry+https://github.com/rust-lang/crates.io-index" 580 + checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 581 + dependencies = [ 582 + "cfg-if", 583 + ] 584 + 585 + [[package]] 586 + name = "critical-section" 587 + version = "1.2.0" 588 + source = "registry+https://github.com/rust-lang/crates.io-index" 589 + checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" 590 + 591 + [[package]] 592 + name = "crossbeam-channel" 593 + version = "0.5.15" 594 + source = "registry+https://github.com/rust-lang/crates.io-index" 595 + checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" 596 + dependencies = [ 597 + "crossbeam-utils", 598 + ] 599 + 600 + [[package]] 601 + name = "crossbeam-utils" 602 + version = "0.8.21" 603 + source = "registry+https://github.com/rust-lang/crates.io-index" 604 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 605 + 606 + [[package]] 607 + name = "crunchy" 608 + version = "0.2.4" 609 + source = "registry+https://github.com/rust-lang/crates.io-index" 610 + checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" 611 + 612 + [[package]] 613 + name = "crypto-bigint" 614 + version = "0.5.5" 615 + source = "registry+https://github.com/rust-lang/crates.io-index" 616 + checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" 617 + dependencies = [ 618 + "generic-array", 619 + "rand_core 0.6.4", 620 + "subtle", 621 + "zeroize", 622 + ] 623 + 624 + [[package]] 625 + name = "crypto-common" 626 + version = "0.1.6" 627 + source = "registry+https://github.com/rust-lang/crates.io-index" 628 + checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 629 + dependencies = [ 630 + "generic-array", 631 + "typenum", 632 + ] 633 + 634 + [[package]] 635 + name = "curve25519-dalek" 636 + version = "4.1.3" 637 + source = "registry+https://github.com/rust-lang/crates.io-index" 638 + checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" 639 + dependencies = [ 640 + "cfg-if", 641 + "cpufeatures", 642 + "curve25519-dalek-derive", 643 + "digest", 644 + "fiat-crypto", 645 + "rustc_version", 646 + "subtle", 647 + "zeroize", 648 + ] 649 + 650 + [[package]] 651 + name = "curve25519-dalek-derive" 652 + version = "0.1.1" 653 + source = "registry+https://github.com/rust-lang/crates.io-index" 654 + checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" 655 + dependencies = [ 656 + "proc-macro2", 657 + "quote", 658 + "syn", 659 + ] 660 + 661 + [[package]] 662 + name = "darling" 663 + version = "0.23.0" 664 + source = "registry+https://github.com/rust-lang/crates.io-index" 665 + checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" 666 + dependencies = [ 667 + "darling_core", 668 + "darling_macro", 669 + ] 670 + 671 + [[package]] 672 + name = "darling_core" 673 + version = "0.23.0" 674 + source = "registry+https://github.com/rust-lang/crates.io-index" 675 + checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" 676 + dependencies = [ 677 + "ident_case", 678 + "proc-macro2", 679 + "quote", 680 + "strsim", 681 + "syn", 682 + ] 683 + 684 + [[package]] 685 + name = "darling_macro" 686 + version = "0.23.0" 687 + source = "registry+https://github.com/rust-lang/crates.io-index" 688 + checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" 689 + dependencies = [ 690 + "darling_core", 691 + "quote", 692 + "syn", 693 + ] 694 + 695 + [[package]] 696 + name = "dashmap" 697 + version = "6.1.0" 698 + source = "registry+https://github.com/rust-lang/crates.io-index" 699 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 700 + dependencies = [ 701 + "cfg-if", 702 + "crossbeam-utils", 703 + "hashbrown 0.14.5", 704 + "lock_api", 705 + "once_cell", 706 + "parking_lot_core", 707 + ] 708 + 709 + [[package]] 710 + name = "data-encoding" 711 + version = "2.10.0" 712 + source = "registry+https://github.com/rust-lang/crates.io-index" 713 + checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" 714 + 715 + [[package]] 716 + name = "data-encoding-macro" 717 + version = "0.1.19" 718 + source = "registry+https://github.com/rust-lang/crates.io-index" 719 + checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" 720 + dependencies = [ 721 + "data-encoding", 722 + "data-encoding-macro-internal", 723 + ] 724 + 725 + [[package]] 726 + name = "data-encoding-macro-internal" 727 + version = "0.1.17" 728 + source = "registry+https://github.com/rust-lang/crates.io-index" 729 + checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" 730 + dependencies = [ 731 + "data-encoding", 732 + "syn", 733 + ] 734 + 735 + [[package]] 736 + name = "deflate" 737 + version = "1.0.0" 738 + source = "registry+https://github.com/rust-lang/crates.io-index" 739 + checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" 740 + dependencies = [ 741 + "adler32", 742 + "gzip-header", 743 + ] 744 + 745 + [[package]] 746 + name = "der" 747 + version = "0.7.10" 748 + source = "registry+https://github.com/rust-lang/crates.io-index" 749 + checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" 750 + dependencies = [ 751 + "const-oid", 752 + "pem-rfc7468", 753 + "zeroize", 754 + ] 755 + 756 + [[package]] 757 + name = "deranged" 758 + version = "0.5.8" 759 + source = "registry+https://github.com/rust-lang/crates.io-index" 760 + checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" 761 + dependencies = [ 762 + "powerfmt", 763 + ] 764 + 765 + [[package]] 766 + name = "derive_more" 767 + version = "1.0.0" 768 + source = "registry+https://github.com/rust-lang/crates.io-index" 769 + checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" 770 + dependencies = [ 771 + "derive_more-impl", 772 + ] 773 + 774 + [[package]] 775 + name = "derive_more-impl" 776 + version = "1.0.0" 777 + source = "registry+https://github.com/rust-lang/crates.io-index" 778 + checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" 779 + dependencies = [ 780 + "proc-macro2", 781 + "quote", 782 + "syn", 783 + "unicode-xid", 784 + ] 785 + 786 + [[package]] 787 + name = "diatomic-waker" 788 + version = "0.2.3" 789 + source = "registry+https://github.com/rust-lang/crates.io-index" 790 + checksum = "ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c" 791 + 792 + [[package]] 793 + name = "digest" 794 + version = "0.10.7" 795 + source = "registry+https://github.com/rust-lang/crates.io-index" 796 + checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 797 + dependencies = [ 798 + "block-buffer", 799 + "const-oid", 800 + "crypto-common", 801 + "subtle", 802 + ] 803 + 804 + [[package]] 805 + name = "displaydoc" 806 + version = "0.2.5" 807 + source = "registry+https://github.com/rust-lang/crates.io-index" 808 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 809 + dependencies = [ 810 + "proc-macro2", 811 + "quote", 812 + "syn", 813 + ] 814 + 815 + [[package]] 816 + name = "dotenvy" 817 + version = "0.15.7" 818 + source = "registry+https://github.com/rust-lang/crates.io-index" 819 + checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" 820 + 821 + [[package]] 822 + name = "ecdsa" 823 + version = "0.16.9" 824 + source = "registry+https://github.com/rust-lang/crates.io-index" 825 + checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" 826 + dependencies = [ 827 + "der", 828 + "digest", 829 + "elliptic-curve", 830 + "rfc6979", 831 + "signature", 832 + "spki", 833 + ] 834 + 835 + [[package]] 836 + name = "ed25519" 837 + version = "2.2.3" 838 + source = "registry+https://github.com/rust-lang/crates.io-index" 839 + checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" 840 + dependencies = [ 841 + "pkcs8", 842 + "signature", 843 + ] 844 + 845 + [[package]] 846 + name = "ed25519-dalek" 847 + version = "2.2.0" 848 + source = "registry+https://github.com/rust-lang/crates.io-index" 849 + checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" 850 + dependencies = [ 851 + "curve25519-dalek", 852 + "ed25519", 853 + "rand_core 0.6.4", 854 + "serde", 855 + "sha2", 856 + "subtle", 857 + "zeroize", 858 + ] 859 + 860 + [[package]] 861 + name = "elliptic-curve" 862 + version = "0.13.8" 863 + source = "registry+https://github.com/rust-lang/crates.io-index" 864 + checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" 865 + dependencies = [ 866 + "base16ct", 867 + "crypto-bigint", 868 + "digest", 869 + "ff", 870 + "generic-array", 871 + "group", 872 + "hkdf", 873 + "pem-rfc7468", 874 + "pkcs8", 875 + "rand_core 0.6.4", 876 + "sec1", 877 + "subtle", 878 + "zeroize", 879 + ] 880 + 881 + [[package]] 882 + name = "embedded-io" 883 + version = "0.4.0" 884 + source = "registry+https://github.com/rust-lang/crates.io-index" 885 + checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" 886 + 887 + [[package]] 888 + name = "embedded-io" 889 + version = "0.6.1" 890 + source = "registry+https://github.com/rust-lang/crates.io-index" 891 + checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" 892 + 893 + [[package]] 894 + name = "encoding_rs" 895 + version = "0.8.35" 896 + source = "registry+https://github.com/rust-lang/crates.io-index" 897 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 898 + dependencies = [ 899 + "cfg-if", 900 + ] 901 + 902 + [[package]] 903 + name = "enum-as-inner" 904 + version = "0.6.1" 905 + source = "registry+https://github.com/rust-lang/crates.io-index" 906 + checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" 907 + dependencies = [ 908 + "heck 0.5.0", 909 + "proc-macro2", 910 + "quote", 911 + "syn", 912 + ] 913 + 914 + [[package]] 915 + name = "env_filter" 916 + version = "1.0.1" 917 + source = "registry+https://github.com/rust-lang/crates.io-index" 918 + checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef" 919 + dependencies = [ 920 + "log", 921 + "regex", 922 + ] 923 + 924 + [[package]] 925 + name = "env_logger" 926 + version = "0.11.10" 927 + source = "registry+https://github.com/rust-lang/crates.io-index" 928 + checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" 929 + dependencies = [ 930 + "anstream", 931 + "anstyle", 932 + "env_filter", 933 + "jiff", 934 + "log", 935 + ] 936 + 937 + [[package]] 938 + name = "equivalent" 939 + version = "1.0.2" 940 + source = "registry+https://github.com/rust-lang/crates.io-index" 941 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 942 + 943 + [[package]] 944 + name = "errno" 945 + version = "0.3.14" 946 + source = "registry+https://github.com/rust-lang/crates.io-index" 947 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 948 + dependencies = [ 949 + "libc", 950 + "windows-sys 0.61.2", 951 + ] 952 + 953 + [[package]] 954 + name = "fastrand" 955 + version = "2.4.1" 956 + source = "registry+https://github.com/rust-lang/crates.io-index" 957 + checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" 958 + 959 + [[package]] 960 + name = "ff" 961 + version = "0.13.1" 962 + source = "registry+https://github.com/rust-lang/crates.io-index" 963 + checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" 964 + dependencies = [ 965 + "rand_core 0.6.4", 966 + "subtle", 967 + ] 968 + 969 + [[package]] 970 + name = "fiat-crypto" 971 + version = "0.2.9" 972 + source = "registry+https://github.com/rust-lang/crates.io-index" 973 + checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" 974 + 975 + [[package]] 976 + name = "filetime" 977 + version = "0.2.27" 978 + source = "registry+https://github.com/rust-lang/crates.io-index" 979 + checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" 980 + dependencies = [ 981 + "cfg-if", 982 + "libc", 983 + "libredox", 984 + ] 985 + 986 + [[package]] 987 + name = "find-msvc-tools" 988 + version = "0.1.9" 989 + source = "registry+https://github.com/rust-lang/crates.io-index" 990 + checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" 991 + 992 + [[package]] 993 + name = "flate2" 994 + version = "1.1.9" 995 + source = "registry+https://github.com/rust-lang/crates.io-index" 996 + checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" 997 + dependencies = [ 998 + "crc32fast", 999 + "miniz_oxide", 1000 + ] 1001 + 1002 + [[package]] 1003 + name = "fluent-uri" 1004 + version = "0.4.1" 1005 + source = "registry+https://github.com/rust-lang/crates.io-index" 1006 + checksum = "bc74ac4d8359ae70623506d512209619e5cf8f347124910440dbc221714b328e" 1007 + dependencies = [ 1008 + "borrow-or-share", 1009 + "ref-cast", 1010 + "serde", 1011 + ] 1012 + 1013 + [[package]] 1014 + name = "fnv" 1015 + version = "1.0.7" 1016 + source = "registry+https://github.com/rust-lang/crates.io-index" 1017 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1018 + 1019 + [[package]] 1020 + name = "foldhash" 1021 + version = "0.1.5" 1022 + source = "registry+https://github.com/rust-lang/crates.io-index" 1023 + checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 1024 + 1025 + [[package]] 1026 + name = "form_urlencoded" 1027 + version = "1.2.2" 1028 + source = "registry+https://github.com/rust-lang/crates.io-index" 1029 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 1030 + dependencies = [ 1031 + "percent-encoding", 1032 + ] 1033 + 1034 + [[package]] 1035 + name = "futf" 1036 + version = "0.1.5" 1037 + source = "registry+https://github.com/rust-lang/crates.io-index" 1038 + checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 1039 + dependencies = [ 1040 + "mac", 1041 + "new_debug_unreachable", 1042 + ] 1043 + 1044 + [[package]] 1045 + name = "futures-buffered" 1046 + version = "0.2.13" 1047 + source = "registry+https://github.com/rust-lang/crates.io-index" 1048 + checksum = "4421cb78ee172b6b06080093479d3c50f058e7c81b7d577bbb8d118d551d4cd5" 1049 + dependencies = [ 1050 + "cordyceps", 1051 + "diatomic-waker", 1052 + "futures-core", 1053 + "pin-project-lite", 1054 + "spin 0.10.0", 1055 + ] 1056 + 1057 + [[package]] 1058 + name = "futures-channel" 1059 + version = "0.3.32" 1060 + source = "registry+https://github.com/rust-lang/crates.io-index" 1061 + checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" 1062 + dependencies = [ 1063 + "futures-core", 1064 + ] 1065 + 1066 + [[package]] 1067 + name = "futures-core" 1068 + version = "0.3.32" 1069 + source = "registry+https://github.com/rust-lang/crates.io-index" 1070 + checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" 1071 + 1072 + [[package]] 1073 + name = "futures-io" 1074 + version = "0.3.32" 1075 + source = "registry+https://github.com/rust-lang/crates.io-index" 1076 + checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" 1077 + 1078 + [[package]] 1079 + name = "futures-lite" 1080 + version = "2.6.1" 1081 + source = "registry+https://github.com/rust-lang/crates.io-index" 1082 + checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" 1083 + dependencies = [ 1084 + "fastrand", 1085 + "futures-core", 1086 + "futures-io", 1087 + "parking", 1088 + "pin-project-lite", 1089 + ] 1090 + 1091 + [[package]] 1092 + name = "futures-macro" 1093 + version = "0.3.32" 1094 + source = "registry+https://github.com/rust-lang/crates.io-index" 1095 + checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" 1096 + dependencies = [ 1097 + "proc-macro2", 1098 + "quote", 1099 + "syn", 1100 + ] 1101 + 1102 + [[package]] 1103 + name = "futures-sink" 1104 + version = "0.3.32" 1105 + source = "registry+https://github.com/rust-lang/crates.io-index" 1106 + checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" 1107 + 1108 + [[package]] 1109 + name = "futures-task" 1110 + version = "0.3.32" 1111 + source = "registry+https://github.com/rust-lang/crates.io-index" 1112 + checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" 1113 + 1114 + [[package]] 1115 + name = "futures-util" 1116 + version = "0.3.32" 1117 + source = "registry+https://github.com/rust-lang/crates.io-index" 1118 + checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" 1119 + dependencies = [ 1120 + "futures-core", 1121 + "futures-macro", 1122 + "futures-sink", 1123 + "futures-task", 1124 + "pin-project-lite", 1125 + "slab", 1126 + ] 1127 + 1128 + [[package]] 1129 + name = "generator" 1130 + version = "0.8.8" 1131 + source = "registry+https://github.com/rust-lang/crates.io-index" 1132 + checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9" 1133 + dependencies = [ 1134 + "cc", 1135 + "cfg-if", 1136 + "libc", 1137 + "log", 1138 + "rustversion", 1139 + "windows-link", 1140 + "windows-result", 1141 + ] 1142 + 1143 + [[package]] 1144 + name = "generic-array" 1145 + version = "0.14.9" 1146 + source = "registry+https://github.com/rust-lang/crates.io-index" 1147 + checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" 1148 + dependencies = [ 1149 + "typenum", 1150 + "version_check", 1151 + "zeroize", 1152 + ] 1153 + 1154 + [[package]] 1155 + name = "getrandom" 1156 + version = "0.2.17" 1157 + source = "registry+https://github.com/rust-lang/crates.io-index" 1158 + checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" 1159 + dependencies = [ 1160 + "cfg-if", 1161 + "js-sys", 1162 + "libc", 1163 + "wasi", 1164 + "wasm-bindgen", 1165 + ] 1166 + 1167 + [[package]] 1168 + name = "getrandom" 1169 + version = "0.3.4" 1170 + source = "registry+https://github.com/rust-lang/crates.io-index" 1171 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 1172 + dependencies = [ 1173 + "cfg-if", 1174 + "js-sys", 1175 + "libc", 1176 + "r-efi", 1177 + "wasip2", 1178 + "wasm-bindgen", 1179 + ] 1180 + 1181 + [[package]] 1182 + name = "gloo-storage" 1183 + version = "0.3.0" 1184 + source = "registry+https://github.com/rust-lang/crates.io-index" 1185 + checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a" 1186 + dependencies = [ 1187 + "gloo-utils", 1188 + "js-sys", 1189 + "serde", 1190 + "serde_json", 1191 + "thiserror 1.0.69", 1192 + "wasm-bindgen", 1193 + "web-sys", 1194 + ] 1195 + 1196 + [[package]] 1197 + name = "gloo-utils" 1198 + version = "0.2.0" 1199 + source = "registry+https://github.com/rust-lang/crates.io-index" 1200 + checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" 1201 + dependencies = [ 1202 + "js-sys", 1203 + "serde", 1204 + "serde_json", 1205 + "wasm-bindgen", 1206 + "web-sys", 1207 + ] 1208 + 1209 + [[package]] 1210 + name = "group" 1211 + version = "0.13.0" 1212 + source = "registry+https://github.com/rust-lang/crates.io-index" 1213 + checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" 1214 + dependencies = [ 1215 + "ff", 1216 + "rand_core 0.6.4", 1217 + "subtle", 1218 + ] 1219 + 1220 + [[package]] 1221 + name = "gzip-header" 1222 + version = "1.0.0" 1223 + source = "registry+https://github.com/rust-lang/crates.io-index" 1224 + checksum = "95cc527b92e6029a62960ad99aa8a6660faa4555fe5f731aab13aa6a921795a2" 1225 + dependencies = [ 1226 + "crc32fast", 1227 + ] 1228 + 1229 + [[package]] 1230 + name = "h2" 1231 + version = "0.4.13" 1232 + source = "registry+https://github.com/rust-lang/crates.io-index" 1233 + checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" 1234 + dependencies = [ 1235 + "atomic-waker", 1236 + "bytes", 1237 + "fnv", 1238 + "futures-core", 1239 + "futures-sink", 1240 + "http", 1241 + "indexmap", 1242 + "slab", 1243 + "tokio", 1244 + "tokio-util", 1245 + "tracing", 1246 + ] 1247 + 1248 + [[package]] 1249 + name = "half" 1250 + version = "2.7.1" 1251 + source = "registry+https://github.com/rust-lang/crates.io-index" 1252 + checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" 1253 + dependencies = [ 1254 + "cfg-if", 1255 + "crunchy", 1256 + "zerocopy", 1257 + ] 1258 + 1259 + [[package]] 1260 + name = "hash32" 1261 + version = "0.2.1" 1262 + source = "registry+https://github.com/rust-lang/crates.io-index" 1263 + checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" 1264 + dependencies = [ 1265 + "byteorder", 1266 + ] 1267 + 1268 + [[package]] 1269 + name = "hashbrown" 1270 + version = "0.14.5" 1271 + source = "registry+https://github.com/rust-lang/crates.io-index" 1272 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1273 + 1274 + [[package]] 1275 + name = "hashbrown" 1276 + version = "0.15.5" 1277 + source = "registry+https://github.com/rust-lang/crates.io-index" 1278 + checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 1279 + dependencies = [ 1280 + "allocator-api2", 1281 + "equivalent", 1282 + "foldhash", 1283 + ] 1284 + 1285 + [[package]] 1286 + name = "hashbrown" 1287 + version = "0.17.0" 1288 + source = "registry+https://github.com/rust-lang/crates.io-index" 1289 + checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" 1290 + 1291 + [[package]] 1292 + name = "heapless" 1293 + version = "0.7.17" 1294 + source = "registry+https://github.com/rust-lang/crates.io-index" 1295 + checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" 1296 + dependencies = [ 1297 + "atomic-polyfill", 1298 + "hash32", 1299 + "rustc_version", 1300 + "serde", 1301 + "spin 0.9.8", 1302 + "stable_deref_trait", 1303 + ] 1304 + 1305 + [[package]] 1306 + name = "heck" 1307 + version = "0.4.1" 1308 + source = "registry+https://github.com/rust-lang/crates.io-index" 1309 + checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1310 + 1311 + [[package]] 1312 + name = "heck" 1313 + version = "0.5.0" 1314 + source = "registry+https://github.com/rust-lang/crates.io-index" 1315 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1316 + 1317 + [[package]] 1318 + name = "hermit-abi" 1319 + version = "0.5.2" 1320 + source = "registry+https://github.com/rust-lang/crates.io-index" 1321 + checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" 1322 + 1323 + [[package]] 1324 + name = "hex" 1325 + version = "0.4.3" 1326 + source = "registry+https://github.com/rust-lang/crates.io-index" 1327 + checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1328 + 1329 + [[package]] 1330 + name = "hickory-proto" 1331 + version = "0.24.4" 1332 + source = "registry+https://github.com/rust-lang/crates.io-index" 1333 + checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" 1334 + dependencies = [ 1335 + "async-trait", 1336 + "cfg-if", 1337 + "data-encoding", 1338 + "enum-as-inner", 1339 + "futures-channel", 1340 + "futures-io", 1341 + "futures-util", 1342 + "idna", 1343 + "ipnet", 1344 + "once_cell", 1345 + "rand 0.8.5", 1346 + "thiserror 1.0.69", 1347 + "tinyvec", 1348 + "tokio", 1349 + "tracing", 1350 + "url", 1351 + ] 1352 + 1353 + [[package]] 1354 + name = "hickory-resolver" 1355 + version = "0.24.4" 1356 + source = "registry+https://github.com/rust-lang/crates.io-index" 1357 + checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" 1358 + dependencies = [ 1359 + "cfg-if", 1360 + "futures-util", 1361 + "hickory-proto", 1362 + "ipconfig", 1363 + "lru-cache", 1364 + "once_cell", 1365 + "parking_lot", 1366 + "rand 0.8.5", 1367 + "resolv-conf", 1368 + "smallvec", 1369 + "thiserror 1.0.69", 1370 + "tokio", 1371 + "tracing", 1372 + ] 1373 + 1374 + [[package]] 1375 + name = "hkdf" 1376 + version = "0.12.4" 1377 + source = "registry+https://github.com/rust-lang/crates.io-index" 1378 + checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" 1379 + dependencies = [ 1380 + "hmac", 1381 + ] 1382 + 1383 + [[package]] 1384 + name = "hmac" 1385 + version = "0.12.1" 1386 + source = "registry+https://github.com/rust-lang/crates.io-index" 1387 + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 1388 + dependencies = [ 1389 + "digest", 1390 + ] 1391 + 1392 + [[package]] 1393 + name = "html5ever" 1394 + version = "0.27.0" 1395 + source = "registry+https://github.com/rust-lang/crates.io-index" 1396 + checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" 1397 + dependencies = [ 1398 + "log", 1399 + "mac", 1400 + "markup5ever", 1401 + "proc-macro2", 1402 + "quote", 1403 + "syn", 1404 + ] 1405 + 1406 + [[package]] 1407 + name = "http" 1408 + version = "1.4.0" 1409 + source = "registry+https://github.com/rust-lang/crates.io-index" 1410 + checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" 1411 + dependencies = [ 1412 + "bytes", 1413 + "itoa", 1414 + ] 1415 + 1416 + [[package]] 1417 + name = "http-body" 1418 + version = "1.0.1" 1419 + source = "registry+https://github.com/rust-lang/crates.io-index" 1420 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 1421 + dependencies = [ 1422 + "bytes", 1423 + "http", 1424 + ] 1425 + 1426 + [[package]] 1427 + name = "http-body-util" 1428 + version = "0.1.3" 1429 + source = "registry+https://github.com/rust-lang/crates.io-index" 1430 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 1431 + dependencies = [ 1432 + "bytes", 1433 + "futures-core", 1434 + "http", 1435 + "http-body", 1436 + "pin-project-lite", 1437 + ] 1438 + 1439 + [[package]] 1440 + name = "httparse" 1441 + version = "1.10.1" 1442 + source = "registry+https://github.com/rust-lang/crates.io-index" 1443 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 1444 + 1445 + [[package]] 1446 + name = "httpdate" 1447 + version = "1.0.3" 1448 + source = "registry+https://github.com/rust-lang/crates.io-index" 1449 + checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 1450 + 1451 + [[package]] 1452 + name = "hyper" 1453 + version = "1.9.0" 1454 + source = "registry+https://github.com/rust-lang/crates.io-index" 1455 + checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" 1456 + dependencies = [ 1457 + "atomic-waker", 1458 + "bytes", 1459 + "futures-channel", 1460 + "futures-core", 1461 + "h2", 1462 + "http", 1463 + "http-body", 1464 + "httparse", 1465 + "httpdate", 1466 + "itoa", 1467 + "pin-project-lite", 1468 + "smallvec", 1469 + "tokio", 1470 + "want", 1471 + ] 1472 + 1473 + [[package]] 1474 + name = "hyper-rustls" 1475 + version = "0.27.9" 1476 + source = "registry+https://github.com/rust-lang/crates.io-index" 1477 + checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" 1478 + dependencies = [ 1479 + "http", 1480 + "hyper", 1481 + "hyper-util", 1482 + "rustls", 1483 + "tokio", 1484 + "tokio-rustls", 1485 + "tower-service", 1486 + "webpki-roots", 1487 + ] 1488 + 1489 + [[package]] 1490 + name = "hyper-util" 1491 + version = "0.1.20" 1492 + source = "registry+https://github.com/rust-lang/crates.io-index" 1493 + checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" 1494 + dependencies = [ 1495 + "base64 0.22.1", 1496 + "bytes", 1497 + "futures-channel", 1498 + "futures-util", 1499 + "http", 1500 + "http-body", 1501 + "hyper", 1502 + "ipnet", 1503 + "libc", 1504 + "percent-encoding", 1505 + "pin-project-lite", 1506 + "socket2 0.6.3", 1507 + "system-configuration", 1508 + "tokio", 1509 + "tower-service", 1510 + "tracing", 1511 + "windows-registry", 1512 + ] 1513 + 1514 + [[package]] 1515 + name = "iana-time-zone" 1516 + version = "0.1.65" 1517 + source = "registry+https://github.com/rust-lang/crates.io-index" 1518 + checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" 1519 + dependencies = [ 1520 + "android_system_properties", 1521 + "core-foundation-sys", 1522 + "iana-time-zone-haiku", 1523 + "js-sys", 1524 + "log", 1525 + "wasm-bindgen", 1526 + "windows-core", 1527 + ] 1528 + 1529 + [[package]] 1530 + name = "iana-time-zone-haiku" 1531 + version = "0.1.2" 1532 + source = "registry+https://github.com/rust-lang/crates.io-index" 1533 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1534 + dependencies = [ 1535 + "cc", 1536 + ] 1537 + 1538 + [[package]] 1539 + name = "icu_collections" 1540 + version = "2.2.0" 1541 + source = "registry+https://github.com/rust-lang/crates.io-index" 1542 + checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" 1543 + dependencies = [ 1544 + "displaydoc", 1545 + "potential_utf", 1546 + "utf8_iter", 1547 + "yoke", 1548 + "zerofrom", 1549 + "zerovec", 1550 + ] 1551 + 1552 + [[package]] 1553 + name = "icu_locale_core" 1554 + version = "2.2.0" 1555 + source = "registry+https://github.com/rust-lang/crates.io-index" 1556 + checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" 1557 + dependencies = [ 1558 + "displaydoc", 1559 + "litemap", 1560 + "tinystr", 1561 + "writeable", 1562 + "zerovec", 1563 + ] 1564 + 1565 + [[package]] 1566 + name = "icu_normalizer" 1567 + version = "2.2.0" 1568 + source = "registry+https://github.com/rust-lang/crates.io-index" 1569 + checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" 1570 + dependencies = [ 1571 + "icu_collections", 1572 + "icu_normalizer_data", 1573 + "icu_properties", 1574 + "icu_provider", 1575 + "smallvec", 1576 + "zerovec", 1577 + ] 1578 + 1579 + [[package]] 1580 + name = "icu_normalizer_data" 1581 + version = "2.2.0" 1582 + source = "registry+https://github.com/rust-lang/crates.io-index" 1583 + checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" 1584 + 1585 + [[package]] 1586 + name = "icu_properties" 1587 + version = "2.2.0" 1588 + source = "registry+https://github.com/rust-lang/crates.io-index" 1589 + checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" 1590 + dependencies = [ 1591 + "icu_collections", 1592 + "icu_locale_core", 1593 + "icu_properties_data", 1594 + "icu_provider", 1595 + "zerotrie", 1596 + "zerovec", 1597 + ] 1598 + 1599 + [[package]] 1600 + name = "icu_properties_data" 1601 + version = "2.2.0" 1602 + source = "registry+https://github.com/rust-lang/crates.io-index" 1603 + checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" 1604 + 1605 + [[package]] 1606 + name = "icu_provider" 1607 + version = "2.2.0" 1608 + source = "registry+https://github.com/rust-lang/crates.io-index" 1609 + checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" 1610 + dependencies = [ 1611 + "displaydoc", 1612 + "icu_locale_core", 1613 + "writeable", 1614 + "yoke", 1615 + "zerofrom", 1616 + "zerotrie", 1617 + "zerovec", 1618 + ] 1619 + 1620 + [[package]] 1621 + name = "ident_case" 1622 + version = "1.0.1" 1623 + source = "registry+https://github.com/rust-lang/crates.io-index" 1624 + checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1625 + 1626 + [[package]] 1627 + name = "idna" 1628 + version = "1.1.0" 1629 + source = "registry+https://github.com/rust-lang/crates.io-index" 1630 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 1631 + dependencies = [ 1632 + "idna_adapter", 1633 + "smallvec", 1634 + "utf8_iter", 1635 + ] 1636 + 1637 + [[package]] 1638 + name = "idna_adapter" 1639 + version = "1.2.1" 1640 + source = "registry+https://github.com/rust-lang/crates.io-index" 1641 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 1642 + dependencies = [ 1643 + "icu_normalizer", 1644 + "icu_properties", 1645 + ] 1646 + 1647 + [[package]] 1648 + name = "indexmap" 1649 + version = "2.14.0" 1650 + source = "registry+https://github.com/rust-lang/crates.io-index" 1651 + checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" 1652 + dependencies = [ 1653 + "equivalent", 1654 + "hashbrown 0.17.0", 1655 + ] 1656 + 1657 + [[package]] 1658 + name = "inventory" 1659 + version = "0.3.24" 1660 + source = "registry+https://github.com/rust-lang/crates.io-index" 1661 + checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b" 1662 + dependencies = [ 1663 + "rustversion", 1664 + ] 1665 + 1666 + [[package]] 1667 + name = "ipconfig" 1668 + version = "0.3.2" 1669 + source = "registry+https://github.com/rust-lang/crates.io-index" 1670 + checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" 1671 + dependencies = [ 1672 + "socket2 0.5.10", 1673 + "widestring", 1674 + "windows-sys 0.48.0", 1675 + "winreg", 1676 + ] 1677 + 1678 + [[package]] 1679 + name = "ipld-core" 1680 + version = "0.4.3" 1681 + source = "registry+https://github.com/rust-lang/crates.io-index" 1682 + checksum = "090f624976d72f0b0bb71b86d58dc16c15e069193067cb3a3a09d655246cbbda" 1683 + dependencies = [ 1684 + "cid", 1685 + "serde", 1686 + "serde_bytes", 1687 + ] 1688 + 1689 + [[package]] 1690 + name = "ipnet" 1691 + version = "2.12.0" 1692 + source = "registry+https://github.com/rust-lang/crates.io-index" 1693 + checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" 1694 + 1695 + [[package]] 1696 + name = "iri-string" 1697 + version = "0.7.12" 1698 + source = "registry+https://github.com/rust-lang/crates.io-index" 1699 + checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" 1700 + dependencies = [ 1701 + "memchr", 1702 + "serde", 1703 + ] 1704 + 1705 + [[package]] 1706 + name = "is_terminal_polyfill" 1707 + version = "1.70.2" 1708 + source = "registry+https://github.com/rust-lang/crates.io-index" 1709 + checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" 1710 + 1711 + [[package]] 1712 + name = "itoa" 1713 + version = "1.0.18" 1714 + source = "registry+https://github.com/rust-lang/crates.io-index" 1715 + checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" 1716 + 1717 + [[package]] 1718 + name = "jacquard" 1719 + version = "0.11.0" 1720 + source = "registry+https://github.com/rust-lang/crates.io-index" 1721 + checksum = "1e4bb22329646c06eb07eb63ae6d33320e8f52ae8b5a5444257f27c3d68d44ae" 1722 + dependencies = [ 1723 + "bytes", 1724 + "getrandom 0.2.17", 1725 + "gloo-storage", 1726 + "http", 1727 + "jacquard-api", 1728 + "jacquard-common", 1729 + "jacquard-derive", 1730 + "jacquard-identity", 1731 + "jacquard-oauth", 1732 + "jose-jwk", 1733 + "miette", 1734 + "regex", 1735 + "regex-lite", 1736 + "reqwest", 1737 + "serde", 1738 + "serde_html_form", 1739 + "serde_json", 1740 + "smol_str", 1741 + "thiserror 2.0.18", 1742 + "tokio", 1743 + "trait-variant", 1744 + "webpage", 1745 + ] 1746 + 1747 + [[package]] 1748 + name = "jacquard-api" 1749 + version = "0.11.1" 1750 + source = "registry+https://github.com/rust-lang/crates.io-index" 1751 + checksum = "f4bba022e9c632f737de481d7c894b5736dd1a503362876ca4da49b9255a7e61" 1752 + dependencies = [ 1753 + "jacquard-common", 1754 + "jacquard-derive", 1755 + "jacquard-lexicon", 1756 + "miette", 1757 + "serde", 1758 + "thiserror 2.0.18", 1759 + ] 1760 + 1761 + [[package]] 1762 + name = "jacquard-axum" 1763 + version = "0.11.0" 1764 + source = "registry+https://github.com/rust-lang/crates.io-index" 1765 + checksum = "707649f378c7aaac47a267e1eb95dbcf595fca3b0c949e0e7aa742dec7093cde" 1766 + dependencies = [ 1767 + "axum", 1768 + "bytes", 1769 + "jacquard", 1770 + "jacquard-common", 1771 + "jacquard-derive", 1772 + "jacquard-identity", 1773 + "miette", 1774 + "multibase", 1775 + "serde", 1776 + "serde_html_form", 1777 + "serde_json", 1778 + "thiserror 2.0.18", 1779 + "tokio", 1780 + "tower-http", 1781 + "tracing", 1782 + ] 1783 + 1784 + [[package]] 1785 + name = "jacquard-common" 1786 + version = "0.11.0" 1787 + source = "registry+https://github.com/rust-lang/crates.io-index" 1788 + checksum = "9631f08f1e65d19e204bc6774d00b4e0b69fb649d7d7ac59ccf97797bd9a196e" 1789 + dependencies = [ 1790 + "base64 0.22.1", 1791 + "bon", 1792 + "bytes", 1793 + "chrono", 1794 + "ciborium", 1795 + "ciborium-io", 1796 + "cid", 1797 + "fluent-uri", 1798 + "getrandom 0.2.17", 1799 + "getrandom 0.3.4", 1800 + "hashbrown 0.15.5", 1801 + "http", 1802 + "ipld-core", 1803 + "k256", 1804 + "maitake-sync", 1805 + "miette", 1806 + "multibase", 1807 + "multihash", 1808 + "ouroboros", 1809 + "oxilangtag", 1810 + "p256", 1811 + "phf", 1812 + "postcard", 1813 + "rand 0.9.4", 1814 + "regex", 1815 + "regex-automata", 1816 + "regex-lite", 1817 + "reqwest", 1818 + "rustversion", 1819 + "serde", 1820 + "serde_bytes", 1821 + "serde_html_form", 1822 + "serde_ipld_dagcbor", 1823 + "serde_json", 1824 + "signature", 1825 + "smol_str", 1826 + "spin 0.10.0", 1827 + "thiserror 2.0.18", 1828 + "tokio", 1829 + "tokio-util", 1830 + "trait-variant", 1831 + "unicode-segmentation", 1832 + ] 1833 + 1834 + [[package]] 1835 + name = "jacquard-derive" 1836 + version = "0.11.0" 1837 + source = "registry+https://github.com/rust-lang/crates.io-index" 1838 + checksum = "22904bd0f9a959591e14ee9e1dab91a9110209cb8b292930e584134f96a83ece" 1839 + dependencies = [ 1840 + "heck 0.5.0", 1841 + "jacquard-lexicon", 1842 + "proc-macro2", 1843 + "quote", 1844 + "syn", 1845 + ] 1846 + 1847 + [[package]] 1848 + name = "jacquard-identity" 1849 + version = "0.11.0" 1850 + source = "registry+https://github.com/rust-lang/crates.io-index" 1851 + checksum = "b84a9302ea9dd39c49d748a8eba21faf365570088571ff327ebb00117dbd65b8" 1852 + dependencies = [ 1853 + "bon", 1854 + "bytes", 1855 + "hickory-resolver", 1856 + "http", 1857 + "jacquard-common", 1858 + "jacquard-lexicon", 1859 + "miette", 1860 + "mini-moka-wasm", 1861 + "n0-future", 1862 + "reqwest", 1863 + "serde", 1864 + "serde_html_form", 1865 + "serde_json", 1866 + "thiserror 2.0.18", 1867 + "tokio", 1868 + "trait-variant", 1869 + ] 1870 + 1871 + [[package]] 1872 + name = "jacquard-lexicon" 1873 + version = "0.11.1" 1874 + source = "registry+https://github.com/rust-lang/crates.io-index" 1875 + checksum = "fd7863d4f56a49f07391b5f775e82be12e6381156642ee83574f481ca73e8b0e" 1876 + dependencies = [ 1877 + "cid", 1878 + "dashmap", 1879 + "heck 0.5.0", 1880 + "inventory", 1881 + "jacquard-common", 1882 + "miette", 1883 + "multihash", 1884 + "prettyplease", 1885 + "proc-macro2", 1886 + "quote", 1887 + "serde", 1888 + "serde_ipld_dagcbor", 1889 + "serde_json", 1890 + "serde_path_to_error", 1891 + "serde_repr", 1892 + "serde_with", 1893 + "sha2", 1894 + "syn", 1895 + "thiserror 2.0.18", 1896 + "unicode-segmentation", 1897 + ] 1898 + 1899 + [[package]] 1900 + name = "jacquard-oauth" 1901 + version = "0.11.0" 1902 + source = "registry+https://github.com/rust-lang/crates.io-index" 1903 + checksum = "ca0b3a8b765b3d3f1890233f9f62dda1b1524d1dc9967c310e5b009b93443776" 1904 + dependencies = [ 1905 + "base64 0.22.1", 1906 + "bytes", 1907 + "chrono", 1908 + "dashmap", 1909 + "ed25519-dalek", 1910 + "elliptic-curve", 1911 + "http", 1912 + "jacquard-common", 1913 + "jacquard-identity", 1914 + "jose-jwa", 1915 + "jose-jwk", 1916 + "k256", 1917 + "miette", 1918 + "p256", 1919 + "p384", 1920 + "rand 0.8.5", 1921 + "rouille", 1922 + "serde", 1923 + "serde_html_form", 1924 + "serde_json", 1925 + "sha2", 1926 + "smol_str", 1927 + "thiserror 2.0.18", 1928 + "tokio", 1929 + "trait-variant", 1930 + "webbrowser", 1931 + ] 1932 + 1933 + [[package]] 1934 + name = "jiff" 1935 + version = "0.2.23" 1936 + source = "registry+https://github.com/rust-lang/crates.io-index" 1937 + checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" 1938 + dependencies = [ 1939 + "jiff-static", 1940 + "log", 1941 + "portable-atomic", 1942 + "portable-atomic-util", 1943 + "serde_core", 1944 + ] 1945 + 1946 + [[package]] 1947 + name = "jiff-static" 1948 + version = "0.2.23" 1949 + source = "registry+https://github.com/rust-lang/crates.io-index" 1950 + checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" 1951 + dependencies = [ 1952 + "proc-macro2", 1953 + "quote", 1954 + "syn", 1955 + ] 1956 + 1957 + [[package]] 1958 + name = "jni" 1959 + version = "0.21.1" 1960 + source = "registry+https://github.com/rust-lang/crates.io-index" 1961 + checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 1962 + dependencies = [ 1963 + "cesu8", 1964 + "cfg-if", 1965 + "combine", 1966 + "jni-sys", 1967 + "log", 1968 + "thiserror 1.0.69", 1969 + "walkdir", 1970 + "windows-sys 0.45.0", 1971 + ] 1972 + 1973 + [[package]] 1974 + name = "jni-sys" 1975 + version = "0.3.0" 1976 + source = "registry+https://github.com/rust-lang/crates.io-index" 1977 + checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1978 + 1979 + [[package]] 1980 + name = "jose-b64" 1981 + version = "0.1.2" 1982 + source = "registry+https://github.com/rust-lang/crates.io-index" 1983 + checksum = "bec69375368709666b21c76965ce67549f2d2db7605f1f8707d17c9656801b56" 1984 + dependencies = [ 1985 + "base64ct", 1986 + "serde", 1987 + "subtle", 1988 + "zeroize", 1989 + ] 1990 + 1991 + [[package]] 1992 + name = "jose-jwa" 1993 + version = "0.1.2" 1994 + source = "registry+https://github.com/rust-lang/crates.io-index" 1995 + checksum = "9ab78e053fe886a351d67cf0d194c000f9d0dcb92906eb34d853d7e758a4b3a7" 1996 + dependencies = [ 1997 + "serde", 1998 + ] 1999 + 2000 + [[package]] 2001 + name = "jose-jwk" 2002 + version = "0.1.2" 2003 + source = "registry+https://github.com/rust-lang/crates.io-index" 2004 + checksum = "280fa263807fe0782ecb6f2baadc28dffc04e00558a58e33bfdb801d11fd58e7" 2005 + dependencies = [ 2006 + "jose-b64", 2007 + "jose-jwa", 2008 + "p256", 2009 + "p384", 2010 + "rsa", 2011 + "serde", 2012 + "zeroize", 2013 + ] 2014 + 2015 + [[package]] 2016 + name = "js-sys" 2017 + version = "0.3.95" 2018 + source = "registry+https://github.com/rust-lang/crates.io-index" 2019 + checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" 2020 + dependencies = [ 2021 + "cfg-if", 2022 + "futures-util", 2023 + "once_cell", 2024 + "wasm-bindgen", 2025 + ] 2026 + 2027 + [[package]] 2028 + name = "k256" 2029 + version = "0.13.4" 2030 + source = "registry+https://github.com/rust-lang/crates.io-index" 2031 + checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" 2032 + dependencies = [ 2033 + "cfg-if", 2034 + "ecdsa", 2035 + "elliptic-curve", 2036 + "once_cell", 2037 + "sha2", 2038 + "signature", 2039 + ] 2040 + 2041 + [[package]] 2042 + name = "lazy_static" 2043 + version = "1.5.0" 2044 + source = "registry+https://github.com/rust-lang/crates.io-index" 2045 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 2046 + dependencies = [ 2047 + "spin 0.9.8", 2048 + ] 2049 + 2050 + [[package]] 2051 + name = "libc" 2052 + version = "0.2.185" 2053 + source = "registry+https://github.com/rust-lang/crates.io-index" 2054 + checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" 2055 + 2056 + [[package]] 2057 + name = "libm" 2058 + version = "0.2.16" 2059 + source = "registry+https://github.com/rust-lang/crates.io-index" 2060 + checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" 2061 + 2062 + [[package]] 2063 + name = "libredox" 2064 + version = "0.1.14" 2065 + source = "registry+https://github.com/rust-lang/crates.io-index" 2066 + checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" 2067 + dependencies = [ 2068 + "bitflags", 2069 + "libc", 2070 + "plain", 2071 + "redox_syscall 0.7.4", 2072 + ] 2073 + 2074 + [[package]] 2075 + name = "linked-hash-map" 2076 + version = "0.5.6" 2077 + source = "registry+https://github.com/rust-lang/crates.io-index" 2078 + checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 2079 + 2080 + [[package]] 2081 + name = "linux-raw-sys" 2082 + version = "0.12.1" 2083 + source = "registry+https://github.com/rust-lang/crates.io-index" 2084 + checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" 2085 + 2086 + [[package]] 2087 + name = "litemap" 2088 + version = "0.8.2" 2089 + source = "registry+https://github.com/rust-lang/crates.io-index" 2090 + checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" 2091 + 2092 + [[package]] 2093 + name = "lock_api" 2094 + version = "0.4.14" 2095 + source = "registry+https://github.com/rust-lang/crates.io-index" 2096 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 2097 + dependencies = [ 2098 + "scopeguard", 2099 + ] 2100 + 2101 + [[package]] 2102 + name = "log" 2103 + version = "0.4.29" 2104 + source = "registry+https://github.com/rust-lang/crates.io-index" 2105 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 2106 + 2107 + [[package]] 2108 + name = "loom" 2109 + version = "0.7.2" 2110 + source = "registry+https://github.com/rust-lang/crates.io-index" 2111 + checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" 2112 + dependencies = [ 2113 + "cfg-if", 2114 + "generator", 2115 + "scoped-tls", 2116 + "tracing", 2117 + "tracing-subscriber", 2118 + ] 2119 + 2120 + [[package]] 2121 + name = "lru-cache" 2122 + version = "0.1.2" 2123 + source = "registry+https://github.com/rust-lang/crates.io-index" 2124 + checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" 2125 + dependencies = [ 2126 + "linked-hash-map", 2127 + ] 2128 + 2129 + [[package]] 2130 + name = "lru-slab" 2131 + version = "0.1.2" 2132 + source = "registry+https://github.com/rust-lang/crates.io-index" 2133 + checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" 2134 + 2135 + [[package]] 2136 + name = "mac" 2137 + version = "0.1.1" 2138 + source = "registry+https://github.com/rust-lang/crates.io-index" 2139 + checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 2140 + 2141 + [[package]] 2142 + name = "maitake-sync" 2143 + version = "0.1.2" 2144 + source = "registry+https://github.com/rust-lang/crates.io-index" 2145 + checksum = "6816ab14147f80234c675b80ed6dc4f440d8a1cefc158e766067aedb84c0bcd5" 2146 + dependencies = [ 2147 + "cordyceps", 2148 + "loom", 2149 + "mycelium-bitfield", 2150 + "pin-project", 2151 + "portable-atomic", 2152 + ] 2153 + 2154 + [[package]] 2155 + name = "markup5ever" 2156 + version = "0.12.1" 2157 + source = "registry+https://github.com/rust-lang/crates.io-index" 2158 + checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" 2159 + dependencies = [ 2160 + "log", 2161 + "phf", 2162 + "phf_codegen", 2163 + "string_cache", 2164 + "string_cache_codegen", 2165 + "tendril", 2166 + ] 2167 + 2168 + [[package]] 2169 + name = "markup5ever_rcdom" 2170 + version = "0.3.0" 2171 + source = "registry+https://github.com/rust-lang/crates.io-index" 2172 + checksum = "edaa21ab3701bfee5099ade5f7e1f84553fd19228cf332f13cd6e964bf59be18" 2173 + dependencies = [ 2174 + "html5ever", 2175 + "markup5ever", 2176 + "tendril", 2177 + "xml5ever", 2178 + ] 2179 + 2180 + [[package]] 2181 + name = "match-lookup" 2182 + version = "0.1.2" 2183 + source = "registry+https://github.com/rust-lang/crates.io-index" 2184 + checksum = "757aee279b8bdbb9f9e676796fd459e4207a1f986e87886700abf589f5abf771" 2185 + dependencies = [ 2186 + "proc-macro2", 2187 + "quote", 2188 + "syn", 2189 + ] 2190 + 2191 + [[package]] 2192 + name = "matchers" 2193 + version = "0.2.0" 2194 + source = "registry+https://github.com/rust-lang/crates.io-index" 2195 + checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" 2196 + dependencies = [ 2197 + "regex-automata", 2198 + ] 2199 + 2200 + [[package]] 2201 + name = "matchit" 2202 + version = "0.8.4" 2203 + source = "registry+https://github.com/rust-lang/crates.io-index" 2204 + checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" 2205 + 2206 + [[package]] 2207 + name = "memchr" 2208 + version = "2.8.0" 2209 + source = "registry+https://github.com/rust-lang/crates.io-index" 2210 + checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" 2211 + 2212 + [[package]] 2213 + name = "miette" 2214 + version = "7.6.0" 2215 + source = "registry+https://github.com/rust-lang/crates.io-index" 2216 + checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" 2217 + dependencies = [ 2218 + "cfg-if", 2219 + "miette-derive", 2220 + "unicode-width", 2221 + ] 2222 + 2223 + [[package]] 2224 + name = "miette-derive" 2225 + version = "7.6.0" 2226 + source = "registry+https://github.com/rust-lang/crates.io-index" 2227 + checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" 2228 + dependencies = [ 2229 + "proc-macro2", 2230 + "quote", 2231 + "syn", 2232 + ] 2233 + 2234 + [[package]] 2235 + name = "mime" 2236 + version = "0.3.17" 2237 + source = "registry+https://github.com/rust-lang/crates.io-index" 2238 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 2239 + 2240 + [[package]] 2241 + name = "mime_guess" 2242 + version = "2.0.5" 2243 + source = "registry+https://github.com/rust-lang/crates.io-index" 2244 + checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" 2245 + dependencies = [ 2246 + "mime", 2247 + "unicase", 2248 + ] 2249 + 2250 + [[package]] 2251 + name = "mini-moka-wasm" 2252 + version = "0.10.99" 2253 + source = "registry+https://github.com/rust-lang/crates.io-index" 2254 + checksum = "0102b9a2ad50fa47ca89eead2316c8222285ecfbd3f69ce99564fbe4253866e8" 2255 + dependencies = [ 2256 + "crossbeam-channel", 2257 + "crossbeam-utils", 2258 + "dashmap", 2259 + "smallvec", 2260 + "tagptr", 2261 + "triomphe", 2262 + "web-time", 2263 + ] 2264 + 2265 + [[package]] 2266 + name = "miniz_oxide" 2267 + version = "0.8.9" 2268 + source = "registry+https://github.com/rust-lang/crates.io-index" 2269 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 2270 + dependencies = [ 2271 + "adler2", 2272 + "simd-adler32", 2273 + ] 2274 + 2275 + [[package]] 2276 + name = "mio" 2277 + version = "1.2.0" 2278 + source = "registry+https://github.com/rust-lang/crates.io-index" 2279 + checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" 2280 + dependencies = [ 2281 + "libc", 2282 + "wasi", 2283 + "windows-sys 0.61.2", 2284 + ] 2285 + 2286 + [[package]] 2287 + name = "multibase" 2288 + version = "0.9.2" 2289 + source = "registry+https://github.com/rust-lang/crates.io-index" 2290 + checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" 2291 + dependencies = [ 2292 + "base-x", 2293 + "base256emoji", 2294 + "data-encoding", 2295 + "data-encoding-macro", 2296 + ] 2297 + 2298 + [[package]] 2299 + name = "multihash" 2300 + version = "0.19.4" 2301 + source = "registry+https://github.com/rust-lang/crates.io-index" 2302 + checksum = "89ace881e3f514092ce9efbcb8f413d0ad9763860b828981c2de51ddc666936c" 2303 + dependencies = [ 2304 + "no_std_io2", 2305 + "serde", 2306 + "unsigned-varint", 2307 + ] 2308 + 2309 + [[package]] 2310 + name = "multipart" 2311 + version = "0.18.0" 2312 + source = "registry+https://github.com/rust-lang/crates.io-index" 2313 + checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" 2314 + dependencies = [ 2315 + "buf_redux", 2316 + "httparse", 2317 + "log", 2318 + "mime", 2319 + "mime_guess", 2320 + "quick-error", 2321 + "rand 0.8.5", 2322 + "safemem", 2323 + "tempfile", 2324 + "twoway", 2325 + ] 2326 + 2327 + [[package]] 2328 + name = "mycelium-bitfield" 2329 + version = "0.1.5" 2330 + source = "registry+https://github.com/rust-lang/crates.io-index" 2331 + checksum = "24e0cc5e2c585acbd15c5ce911dff71e1f4d5313f43345873311c4f5efd741cc" 2332 + 2333 + [[package]] 2334 + name = "n0-future" 2335 + version = "0.1.3" 2336 + source = "registry+https://github.com/rust-lang/crates.io-index" 2337 + checksum = "7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794" 2338 + dependencies = [ 2339 + "cfg_aliases", 2340 + "derive_more", 2341 + "futures-buffered", 2342 + "futures-lite", 2343 + "futures-util", 2344 + "js-sys", 2345 + "pin-project", 2346 + "send_wrapper", 2347 + "tokio", 2348 + "tokio-util", 2349 + "wasm-bindgen", 2350 + "wasm-bindgen-futures", 2351 + "web-time", 2352 + ] 2353 + 2354 + [[package]] 2355 + name = "ndk-context" 2356 + version = "0.1.1" 2357 + source = "registry+https://github.com/rust-lang/crates.io-index" 2358 + checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 2359 + 2360 + [[package]] 2361 + name = "new_debug_unreachable" 2362 + version = "1.0.6" 2363 + source = "registry+https://github.com/rust-lang/crates.io-index" 2364 + checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" 2365 + 2366 + [[package]] 2367 + name = "no_std_io2" 2368 + version = "0.8.1" 2369 + source = "registry+https://github.com/rust-lang/crates.io-index" 2370 + checksum = "8a3564ce7035b1e4778d8cb6cacebb5d766b5e8fe5a75b9e441e33fb61a872c6" 2371 + dependencies = [ 2372 + "memchr", 2373 + ] 2374 + 2375 + [[package]] 2376 + name = "nu-ansi-term" 2377 + version = "0.50.3" 2378 + source = "registry+https://github.com/rust-lang/crates.io-index" 2379 + checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 2380 + dependencies = [ 2381 + "windows-sys 0.61.2", 2382 + ] 2383 + 2384 + [[package]] 2385 + name = "num-bigint-dig" 2386 + version = "0.8.6" 2387 + source = "registry+https://github.com/rust-lang/crates.io-index" 2388 + checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" 2389 + dependencies = [ 2390 + "lazy_static", 2391 + "libm", 2392 + "num-integer", 2393 + "num-iter", 2394 + "num-traits", 2395 + "rand 0.8.5", 2396 + "smallvec", 2397 + "zeroize", 2398 + ] 2399 + 2400 + [[package]] 2401 + name = "num-conv" 2402 + version = "0.2.1" 2403 + source = "registry+https://github.com/rust-lang/crates.io-index" 2404 + checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" 2405 + 2406 + [[package]] 2407 + name = "num-integer" 2408 + version = "0.1.46" 2409 + source = "registry+https://github.com/rust-lang/crates.io-index" 2410 + checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 2411 + dependencies = [ 2412 + "num-traits", 2413 + ] 2414 + 2415 + [[package]] 2416 + name = "num-iter" 2417 + version = "0.1.45" 2418 + source = "registry+https://github.com/rust-lang/crates.io-index" 2419 + checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 2420 + dependencies = [ 2421 + "autocfg", 2422 + "num-integer", 2423 + "num-traits", 2424 + ] 2425 + 2426 + [[package]] 2427 + name = "num-traits" 2428 + version = "0.2.19" 2429 + source = "registry+https://github.com/rust-lang/crates.io-index" 2430 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 2431 + dependencies = [ 2432 + "autocfg", 2433 + "libm", 2434 + ] 2435 + 2436 + [[package]] 2437 + name = "num_cpus" 2438 + version = "1.17.0" 2439 + source = "registry+https://github.com/rust-lang/crates.io-index" 2440 + checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" 2441 + dependencies = [ 2442 + "hermit-abi", 2443 + "libc", 2444 + ] 2445 + 2446 + [[package]] 2447 + name = "num_threads" 2448 + version = "0.1.7" 2449 + source = "registry+https://github.com/rust-lang/crates.io-index" 2450 + checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 2451 + dependencies = [ 2452 + "libc", 2453 + ] 2454 + 2455 + [[package]] 2456 + name = "objc2" 2457 + version = "0.6.4" 2458 + source = "registry+https://github.com/rust-lang/crates.io-index" 2459 + checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" 2460 + dependencies = [ 2461 + "objc2-encode", 2462 + ] 2463 + 2464 + [[package]] 2465 + name = "objc2-encode" 2466 + version = "4.1.0" 2467 + source = "registry+https://github.com/rust-lang/crates.io-index" 2468 + checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" 2469 + 2470 + [[package]] 2471 + name = "objc2-foundation" 2472 + version = "0.3.2" 2473 + source = "registry+https://github.com/rust-lang/crates.io-index" 2474 + checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" 2475 + dependencies = [ 2476 + "bitflags", 2477 + "objc2", 2478 + ] 2479 + 2480 + [[package]] 2481 + name = "once_cell" 2482 + version = "1.21.4" 2483 + source = "registry+https://github.com/rust-lang/crates.io-index" 2484 + checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" 2485 + 2486 + [[package]] 2487 + name = "once_cell_polyfill" 2488 + version = "1.70.2" 2489 + source = "registry+https://github.com/rust-lang/crates.io-index" 2490 + checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" 2491 + 2492 + [[package]] 2493 + name = "ouroboros" 2494 + version = "0.18.5" 2495 + source = "registry+https://github.com/rust-lang/crates.io-index" 2496 + checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" 2497 + dependencies = [ 2498 + "aliasable", 2499 + "ouroboros_macro", 2500 + "static_assertions", 2501 + ] 2502 + 2503 + [[package]] 2504 + name = "ouroboros_macro" 2505 + version = "0.18.5" 2506 + source = "registry+https://github.com/rust-lang/crates.io-index" 2507 + checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" 2508 + dependencies = [ 2509 + "heck 0.4.1", 2510 + "proc-macro2", 2511 + "proc-macro2-diagnostics", 2512 + "quote", 2513 + "syn", 2514 + ] 2515 + 2516 + [[package]] 2517 + name = "oxilangtag" 2518 + version = "0.1.5" 2519 + source = "registry+https://github.com/rust-lang/crates.io-index" 2520 + checksum = "23f3f87617a86af77fa3691e6350483e7154c2ead9f1261b75130e21ca0f8acb" 2521 + dependencies = [ 2522 + "serde", 2523 + ] 2524 + 2525 + [[package]] 2526 + name = "p256" 2527 + version = "0.13.2" 2528 + source = "registry+https://github.com/rust-lang/crates.io-index" 2529 + checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" 2530 + dependencies = [ 2531 + "ecdsa", 2532 + "elliptic-curve", 2533 + "primeorder", 2534 + "sha2", 2535 + ] 2536 + 2537 + [[package]] 2538 + name = "p384" 2539 + version = "0.13.1" 2540 + source = "registry+https://github.com/rust-lang/crates.io-index" 2541 + checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" 2542 + dependencies = [ 2543 + "ecdsa", 2544 + "elliptic-curve", 2545 + "primeorder", 2546 + "sha2", 2547 + ] 2548 + 2549 + [[package]] 2550 + name = "parking" 2551 + version = "2.2.1" 2552 + source = "registry+https://github.com/rust-lang/crates.io-index" 2553 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 2554 + 2555 + [[package]] 2556 + name = "parking_lot" 2557 + version = "0.12.5" 2558 + source = "registry+https://github.com/rust-lang/crates.io-index" 2559 + checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 2560 + dependencies = [ 2561 + "lock_api", 2562 + "parking_lot_core", 2563 + ] 2564 + 2565 + [[package]] 2566 + name = "parking_lot_core" 2567 + version = "0.9.12" 2568 + source = "registry+https://github.com/rust-lang/crates.io-index" 2569 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 2570 + dependencies = [ 2571 + "cfg-if", 2572 + "libc", 2573 + "redox_syscall 0.5.18", 2574 + "smallvec", 2575 + "windows-link", 2576 + ] 2577 + 2578 + [[package]] 2579 + name = "pem-rfc7468" 2580 + version = "0.7.0" 2581 + source = "registry+https://github.com/rust-lang/crates.io-index" 2582 + checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 2583 + dependencies = [ 2584 + "base64ct", 2585 + ] 2586 + 2587 + [[package]] 2588 + name = "percent-encoding" 2589 + version = "2.3.2" 2590 + source = "registry+https://github.com/rust-lang/crates.io-index" 2591 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 2592 + 2593 + [[package]] 2594 + name = "phf" 2595 + version = "0.11.3" 2596 + source = "registry+https://github.com/rust-lang/crates.io-index" 2597 + checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 2598 + dependencies = [ 2599 + "phf_macros", 2600 + "phf_shared", 2601 + ] 2602 + 2603 + [[package]] 2604 + name = "phf_codegen" 2605 + version = "0.11.3" 2606 + source = "registry+https://github.com/rust-lang/crates.io-index" 2607 + checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 2608 + dependencies = [ 2609 + "phf_generator", 2610 + "phf_shared", 2611 + ] 2612 + 2613 + [[package]] 2614 + name = "phf_generator" 2615 + version = "0.11.3" 2616 + source = "registry+https://github.com/rust-lang/crates.io-index" 2617 + checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 2618 + dependencies = [ 2619 + "phf_shared", 2620 + "rand 0.8.5", 2621 + ] 2622 + 2623 + [[package]] 2624 + name = "phf_macros" 2625 + version = "0.11.3" 2626 + source = "registry+https://github.com/rust-lang/crates.io-index" 2627 + checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" 2628 + dependencies = [ 2629 + "phf_generator", 2630 + "phf_shared", 2631 + "proc-macro2", 2632 + "quote", 2633 + "syn", 2634 + ] 2635 + 2636 + [[package]] 2637 + name = "phf_shared" 2638 + version = "0.11.3" 2639 + source = "registry+https://github.com/rust-lang/crates.io-index" 2640 + checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 2641 + dependencies = [ 2642 + "siphasher", 2643 + ] 2644 + 2645 + [[package]] 2646 + name = "pin-project" 2647 + version = "1.1.11" 2648 + source = "registry+https://github.com/rust-lang/crates.io-index" 2649 + checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" 2650 + dependencies = [ 2651 + "pin-project-internal", 2652 + ] 2653 + 2654 + [[package]] 2655 + name = "pin-project-internal" 2656 + version = "1.1.11" 2657 + source = "registry+https://github.com/rust-lang/crates.io-index" 2658 + checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" 2659 + dependencies = [ 2660 + "proc-macro2", 2661 + "quote", 2662 + "syn", 2663 + ] 2664 + 2665 + [[package]] 2666 + name = "pin-project-lite" 2667 + version = "0.2.17" 2668 + source = "registry+https://github.com/rust-lang/crates.io-index" 2669 + checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" 2670 + 2671 + [[package]] 2672 + name = "pkcs1" 2673 + version = "0.7.5" 2674 + source = "registry+https://github.com/rust-lang/crates.io-index" 2675 + checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 2676 + dependencies = [ 2677 + "der", 2678 + "pkcs8", 2679 + "spki", 2680 + ] 2681 + 2682 + [[package]] 2683 + name = "pkcs8" 2684 + version = "0.10.2" 2685 + source = "registry+https://github.com/rust-lang/crates.io-index" 2686 + checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 2687 + dependencies = [ 2688 + "der", 2689 + "spki", 2690 + ] 2691 + 2692 + [[package]] 2693 + name = "plain" 2694 + version = "0.2.3" 2695 + source = "registry+https://github.com/rust-lang/crates.io-index" 2696 + checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" 2697 + 2698 + [[package]] 2699 + name = "portable-atomic" 2700 + version = "1.13.1" 2701 + source = "registry+https://github.com/rust-lang/crates.io-index" 2702 + checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" 2703 + 2704 + [[package]] 2705 + name = "portable-atomic-util" 2706 + version = "0.2.7" 2707 + source = "registry+https://github.com/rust-lang/crates.io-index" 2708 + checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" 2709 + dependencies = [ 2710 + "portable-atomic", 2711 + ] 2712 + 2713 + [[package]] 2714 + name = "postcard" 2715 + version = "1.1.3" 2716 + source = "registry+https://github.com/rust-lang/crates.io-index" 2717 + checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" 2718 + dependencies = [ 2719 + "cobs", 2720 + "embedded-io 0.4.0", 2721 + "embedded-io 0.6.1", 2722 + "heapless", 2723 + "serde", 2724 + ] 2725 + 2726 + [[package]] 2727 + name = "potential_utf" 2728 + version = "0.1.5" 2729 + source = "registry+https://github.com/rust-lang/crates.io-index" 2730 + checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" 2731 + dependencies = [ 2732 + "zerovec", 2733 + ] 2734 + 2735 + [[package]] 2736 + name = "powerfmt" 2737 + version = "0.2.0" 2738 + source = "registry+https://github.com/rust-lang/crates.io-index" 2739 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 2740 + 2741 + [[package]] 2742 + name = "ppv-lite86" 2743 + version = "0.2.21" 2744 + source = "registry+https://github.com/rust-lang/crates.io-index" 2745 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 2746 + dependencies = [ 2747 + "zerocopy", 2748 + ] 2749 + 2750 + [[package]] 2751 + name = "precomputed-hash" 2752 + version = "0.1.1" 2753 + source = "registry+https://github.com/rust-lang/crates.io-index" 2754 + checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 2755 + 2756 + [[package]] 2757 + name = "prettyplease" 2758 + version = "0.2.37" 2759 + source = "registry+https://github.com/rust-lang/crates.io-index" 2760 + checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 2761 + dependencies = [ 2762 + "proc-macro2", 2763 + "syn", 2764 + ] 2765 + 2766 + [[package]] 2767 + name = "primeorder" 2768 + version = "0.13.6" 2769 + source = "registry+https://github.com/rust-lang/crates.io-index" 2770 + checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" 2771 + dependencies = [ 2772 + "elliptic-curve", 2773 + ] 2774 + 2775 + [[package]] 2776 + name = "proc-macro2" 2777 + version = "1.0.106" 2778 + source = "registry+https://github.com/rust-lang/crates.io-index" 2779 + checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" 2780 + dependencies = [ 2781 + "unicode-ident", 2782 + ] 2783 + 2784 + [[package]] 2785 + name = "proc-macro2-diagnostics" 2786 + version = "0.10.1" 2787 + source = "registry+https://github.com/rust-lang/crates.io-index" 2788 + checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" 2789 + dependencies = [ 2790 + "proc-macro2", 2791 + "quote", 2792 + "syn", 2793 + "version_check", 2794 + "yansi", 2795 + ] 2796 + 2797 + [[package]] 2798 + name = "quick-error" 2799 + version = "1.2.3" 2800 + source = "registry+https://github.com/rust-lang/crates.io-index" 2801 + checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" 2802 + 2803 + [[package]] 2804 + name = "quinn" 2805 + version = "0.11.9" 2806 + source = "registry+https://github.com/rust-lang/crates.io-index" 2807 + checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" 2808 + dependencies = [ 2809 + "bytes", 2810 + "cfg_aliases", 2811 + "pin-project-lite", 2812 + "quinn-proto", 2813 + "quinn-udp", 2814 + "rustc-hash", 2815 + "rustls", 2816 + "socket2 0.6.3", 2817 + "thiserror 2.0.18", 2818 + "tokio", 2819 + "tracing", 2820 + "web-time", 2821 + ] 2822 + 2823 + [[package]] 2824 + name = "quinn-proto" 2825 + version = "0.11.14" 2826 + source = "registry+https://github.com/rust-lang/crates.io-index" 2827 + checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" 2828 + dependencies = [ 2829 + "bytes", 2830 + "getrandom 0.3.4", 2831 + "lru-slab", 2832 + "rand 0.9.4", 2833 + "ring", 2834 + "rustc-hash", 2835 + "rustls", 2836 + "rustls-pki-types", 2837 + "slab", 2838 + "thiserror 2.0.18", 2839 + "tinyvec", 2840 + "tracing", 2841 + "web-time", 2842 + ] 2843 + 2844 + [[package]] 2845 + name = "quinn-udp" 2846 + version = "0.5.14" 2847 + source = "registry+https://github.com/rust-lang/crates.io-index" 2848 + checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" 2849 + dependencies = [ 2850 + "cfg_aliases", 2851 + "libc", 2852 + "once_cell", 2853 + "socket2 0.6.3", 2854 + "tracing", 2855 + "windows-sys 0.60.2", 2856 + ] 2857 + 2858 + [[package]] 2859 + name = "quote" 2860 + version = "1.0.45" 2861 + source = "registry+https://github.com/rust-lang/crates.io-index" 2862 + checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" 2863 + dependencies = [ 2864 + "proc-macro2", 2865 + ] 2866 + 2867 + [[package]] 2868 + name = "r-efi" 2869 + version = "5.3.0" 2870 + source = "registry+https://github.com/rust-lang/crates.io-index" 2871 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 2872 + 2873 + [[package]] 2874 + name = "rand" 2875 + version = "0.8.5" 2876 + source = "registry+https://github.com/rust-lang/crates.io-index" 2877 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2878 + dependencies = [ 2879 + "libc", 2880 + "rand_chacha 0.3.1", 2881 + "rand_core 0.6.4", 2882 + ] 2883 + 2884 + [[package]] 2885 + name = "rand" 2886 + version = "0.9.4" 2887 + source = "registry+https://github.com/rust-lang/crates.io-index" 2888 + checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" 2889 + dependencies = [ 2890 + "rand_chacha 0.9.0", 2891 + "rand_core 0.9.5", 2892 + ] 2893 + 2894 + [[package]] 2895 + name = "rand_chacha" 2896 + version = "0.3.1" 2897 + source = "registry+https://github.com/rust-lang/crates.io-index" 2898 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2899 + dependencies = [ 2900 + "ppv-lite86", 2901 + "rand_core 0.6.4", 2902 + ] 2903 + 2904 + [[package]] 2905 + name = "rand_chacha" 2906 + version = "0.9.0" 2907 + source = "registry+https://github.com/rust-lang/crates.io-index" 2908 + checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 2909 + dependencies = [ 2910 + "ppv-lite86", 2911 + "rand_core 0.9.5", 2912 + ] 2913 + 2914 + [[package]] 2915 + name = "rand_core" 2916 + version = "0.6.4" 2917 + source = "registry+https://github.com/rust-lang/crates.io-index" 2918 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2919 + dependencies = [ 2920 + "getrandom 0.2.17", 2921 + ] 2922 + 2923 + [[package]] 2924 + name = "rand_core" 2925 + version = "0.9.5" 2926 + source = "registry+https://github.com/rust-lang/crates.io-index" 2927 + checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" 2928 + dependencies = [ 2929 + "getrandom 0.3.4", 2930 + ] 2931 + 2932 + [[package]] 2933 + name = "redox_syscall" 2934 + version = "0.5.18" 2935 + source = "registry+https://github.com/rust-lang/crates.io-index" 2936 + checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 2937 + dependencies = [ 2938 + "bitflags", 2939 + ] 2940 + 2941 + [[package]] 2942 + name = "redox_syscall" 2943 + version = "0.7.4" 2944 + source = "registry+https://github.com/rust-lang/crates.io-index" 2945 + checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" 2946 + dependencies = [ 2947 + "bitflags", 2948 + ] 2949 + 2950 + [[package]] 2951 + name = "ref-cast" 2952 + version = "1.0.25" 2953 + source = "registry+https://github.com/rust-lang/crates.io-index" 2954 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 2955 + dependencies = [ 2956 + "ref-cast-impl", 2957 + ] 2958 + 2959 + [[package]] 2960 + name = "ref-cast-impl" 2961 + version = "1.0.25" 2962 + source = "registry+https://github.com/rust-lang/crates.io-index" 2963 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 2964 + dependencies = [ 2965 + "proc-macro2", 2966 + "quote", 2967 + "syn", 2968 + ] 2969 + 2970 + [[package]] 2971 + name = "regex" 2972 + version = "1.12.3" 2973 + source = "registry+https://github.com/rust-lang/crates.io-index" 2974 + checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" 2975 + dependencies = [ 2976 + "aho-corasick", 2977 + "memchr", 2978 + "regex-automata", 2979 + "regex-syntax", 2980 + ] 2981 + 2982 + [[package]] 2983 + name = "regex-automata" 2984 + version = "0.4.14" 2985 + source = "registry+https://github.com/rust-lang/crates.io-index" 2986 + checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" 2987 + dependencies = [ 2988 + "aho-corasick", 2989 + "memchr", 2990 + "regex-syntax", 2991 + ] 2992 + 2993 + [[package]] 2994 + name = "regex-lite" 2995 + version = "0.1.9" 2996 + source = "registry+https://github.com/rust-lang/crates.io-index" 2997 + checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" 2998 + 2999 + [[package]] 3000 + name = "regex-syntax" 3001 + version = "0.8.10" 3002 + source = "registry+https://github.com/rust-lang/crates.io-index" 3003 + checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" 3004 + 3005 + [[package]] 3006 + name = "reqwest" 3007 + version = "0.12.28" 3008 + source = "registry+https://github.com/rust-lang/crates.io-index" 3009 + checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" 3010 + dependencies = [ 3011 + "base64 0.22.1", 3012 + "bytes", 3013 + "encoding_rs", 3014 + "futures-core", 3015 + "h2", 3016 + "http", 3017 + "http-body", 3018 + "http-body-util", 3019 + "hyper", 3020 + "hyper-rustls", 3021 + "hyper-util", 3022 + "js-sys", 3023 + "log", 3024 + "mime", 3025 + "percent-encoding", 3026 + "pin-project-lite", 3027 + "quinn", 3028 + "rustls", 3029 + "rustls-pki-types", 3030 + "serde", 3031 + "serde_json", 3032 + "serde_urlencoded", 3033 + "sync_wrapper", 3034 + "tokio", 3035 + "tokio-rustls", 3036 + "tower", 3037 + "tower-http", 3038 + "tower-service", 3039 + "url", 3040 + "wasm-bindgen", 3041 + "wasm-bindgen-futures", 3042 + "web-sys", 3043 + "webpki-roots", 3044 + ] 3045 + 3046 + [[package]] 3047 + name = "resolv-conf" 3048 + version = "0.7.6" 3049 + source = "registry+https://github.com/rust-lang/crates.io-index" 3050 + checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" 3051 + 3052 + [[package]] 3053 + name = "rfc6979" 3054 + version = "0.4.0" 3055 + source = "registry+https://github.com/rust-lang/crates.io-index" 3056 + checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" 3057 + dependencies = [ 3058 + "hmac", 3059 + "subtle", 3060 + ] 3061 + 3062 + [[package]] 3063 + name = "ring" 3064 + version = "0.17.14" 3065 + source = "registry+https://github.com/rust-lang/crates.io-index" 3066 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 3067 + dependencies = [ 3068 + "cc", 3069 + "cfg-if", 3070 + "getrandom 0.2.17", 3071 + "libc", 3072 + "untrusted", 3073 + "windows-sys 0.52.0", 3074 + ] 3075 + 3076 + [[package]] 3077 + name = "rouille" 3078 + version = "3.6.2" 3079 + source = "registry+https://github.com/rust-lang/crates.io-index" 3080 + checksum = "3716fbf57fc1084d7a706adf4e445298d123e4a44294c4e8213caf1b85fcc921" 3081 + dependencies = [ 3082 + "base64 0.13.1", 3083 + "brotli", 3084 + "chrono", 3085 + "deflate", 3086 + "filetime", 3087 + "multipart", 3088 + "percent-encoding", 3089 + "rand 0.8.5", 3090 + "serde", 3091 + "serde_derive", 3092 + "serde_json", 3093 + "sha1_smol", 3094 + "threadpool", 3095 + "time", 3096 + "tiny_http", 3097 + "url", 3098 + ] 3099 + 3100 + [[package]] 3101 + name = "rsa" 3102 + version = "0.9.10" 3103 + source = "registry+https://github.com/rust-lang/crates.io-index" 3104 + checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" 3105 + dependencies = [ 3106 + "const-oid", 3107 + "digest", 3108 + "num-bigint-dig", 3109 + "num-integer", 3110 + "num-traits", 3111 + "pkcs1", 3112 + "pkcs8", 3113 + "rand_core 0.6.4", 3114 + "signature", 3115 + "spki", 3116 + "subtle", 3117 + "zeroize", 3118 + ] 3119 + 3120 + [[package]] 3121 + name = "rustc-hash" 3122 + version = "2.1.2" 3123 + source = "registry+https://github.com/rust-lang/crates.io-index" 3124 + checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" 3125 + 3126 + [[package]] 3127 + name = "rustc_version" 3128 + version = "0.4.1" 3129 + source = "registry+https://github.com/rust-lang/crates.io-index" 3130 + checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 3131 + dependencies = [ 3132 + "semver", 3133 + ] 3134 + 3135 + [[package]] 3136 + name = "rustix" 3137 + version = "1.1.4" 3138 + source = "registry+https://github.com/rust-lang/crates.io-index" 3139 + checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" 3140 + dependencies = [ 3141 + "bitflags", 3142 + "errno", 3143 + "libc", 3144 + "linux-raw-sys", 3145 + "windows-sys 0.52.0", 3146 + ] 3147 + 3148 + [[package]] 3149 + name = "rustls" 3150 + version = "0.23.38" 3151 + source = "registry+https://github.com/rust-lang/crates.io-index" 3152 + checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21" 3153 + dependencies = [ 3154 + "once_cell", 3155 + "ring", 3156 + "rustls-pki-types", 3157 + "rustls-webpki", 3158 + "subtle", 3159 + "zeroize", 3160 + ] 3161 + 3162 + [[package]] 3163 + name = "rustls-pki-types" 3164 + version = "1.14.0" 3165 + source = "registry+https://github.com/rust-lang/crates.io-index" 3166 + checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" 3167 + dependencies = [ 3168 + "web-time", 3169 + "zeroize", 3170 + ] 3171 + 3172 + [[package]] 3173 + name = "rustls-webpki" 3174 + version = "0.103.12" 3175 + source = "registry+https://github.com/rust-lang/crates.io-index" 3176 + checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" 3177 + dependencies = [ 3178 + "ring", 3179 + "rustls-pki-types", 3180 + "untrusted", 3181 + ] 3182 + 3183 + [[package]] 3184 + name = "rustversion" 3185 + version = "1.0.22" 3186 + source = "registry+https://github.com/rust-lang/crates.io-index" 3187 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 3188 + 3189 + [[package]] 3190 + name = "ryu" 3191 + version = "1.0.23" 3192 + source = "registry+https://github.com/rust-lang/crates.io-index" 3193 + checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" 3194 + 3195 + [[package]] 3196 + name = "safemem" 3197 + version = "0.3.3" 3198 + source = "registry+https://github.com/rust-lang/crates.io-index" 3199 + checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 3200 + 3201 + [[package]] 3202 + name = "same-file" 3203 + version = "1.0.6" 3204 + source = "registry+https://github.com/rust-lang/crates.io-index" 3205 + checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 3206 + dependencies = [ 3207 + "winapi-util", 3208 + ] 3209 + 3210 + [[package]] 3211 + name = "scoped-tls" 3212 + version = "1.0.1" 3213 + source = "registry+https://github.com/rust-lang/crates.io-index" 3214 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 3215 + 3216 + [[package]] 3217 + name = "scopeguard" 3218 + version = "1.2.0" 3219 + source = "registry+https://github.com/rust-lang/crates.io-index" 3220 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 3221 + 3222 + [[package]] 3223 + name = "sec1" 3224 + version = "0.7.3" 3225 + source = "registry+https://github.com/rust-lang/crates.io-index" 3226 + checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" 3227 + dependencies = [ 3228 + "base16ct", 3229 + "der", 3230 + "generic-array", 3231 + "pkcs8", 3232 + "subtle", 3233 + "zeroize", 3234 + ] 3235 + 3236 + [[package]] 3237 + name = "semver" 3238 + version = "1.0.28" 3239 + source = "registry+https://github.com/rust-lang/crates.io-index" 3240 + checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" 3241 + 3242 + [[package]] 3243 + name = "send_wrapper" 3244 + version = "0.6.0" 3245 + source = "registry+https://github.com/rust-lang/crates.io-index" 3246 + checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 3247 + 3248 + [[package]] 3249 + name = "serde" 3250 + version = "1.0.228" 3251 + source = "registry+https://github.com/rust-lang/crates.io-index" 3252 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 3253 + dependencies = [ 3254 + "serde_core", 3255 + "serde_derive", 3256 + ] 3257 + 3258 + [[package]] 3259 + name = "serde_bytes" 3260 + version = "0.11.19" 3261 + source = "registry+https://github.com/rust-lang/crates.io-index" 3262 + checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" 3263 + dependencies = [ 3264 + "serde", 3265 + "serde_core", 3266 + ] 3267 + 3268 + [[package]] 3269 + name = "serde_core" 3270 + version = "1.0.228" 3271 + source = "registry+https://github.com/rust-lang/crates.io-index" 3272 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 3273 + dependencies = [ 3274 + "serde_derive", 3275 + ] 3276 + 3277 + [[package]] 3278 + name = "serde_derive" 3279 + version = "1.0.228" 3280 + source = "registry+https://github.com/rust-lang/crates.io-index" 3281 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 3282 + dependencies = [ 3283 + "proc-macro2", 3284 + "quote", 3285 + "syn", 3286 + ] 3287 + 3288 + [[package]] 3289 + name = "serde_html_form" 3290 + version = "0.3.2" 3291 + source = "registry+https://github.com/rust-lang/crates.io-index" 3292 + checksum = "2acf96b1d9364968fce46ebb548f1c0e1d7eceae27bdff73865d42e6c7369d94" 3293 + dependencies = [ 3294 + "form_urlencoded", 3295 + "indexmap", 3296 + "itoa", 3297 + "serde_core", 3298 + ] 3299 + 3300 + [[package]] 3301 + name = "serde_ipld_dagcbor" 3302 + version = "0.6.4" 3303 + source = "registry+https://github.com/rust-lang/crates.io-index" 3304 + checksum = "46182f4f08349a02b45c998ba3215d3f9de826246ba02bb9dddfe9a2a2100778" 3305 + dependencies = [ 3306 + "cbor4ii", 3307 + "ipld-core", 3308 + "scopeguard", 3309 + "serde", 3310 + ] 3311 + 3312 + [[package]] 3313 + name = "serde_json" 3314 + version = "1.0.149" 3315 + source = "registry+https://github.com/rust-lang/crates.io-index" 3316 + checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" 3317 + dependencies = [ 3318 + "itoa", 3319 + "memchr", 3320 + "serde", 3321 + "serde_core", 3322 + "zmij", 3323 + ] 3324 + 3325 + [[package]] 3326 + name = "serde_path_to_error" 3327 + version = "0.1.20" 3328 + source = "registry+https://github.com/rust-lang/crates.io-index" 3329 + checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" 3330 + dependencies = [ 3331 + "itoa", 3332 + "serde", 3333 + "serde_core", 3334 + ] 3335 + 3336 + [[package]] 3337 + name = "serde_repr" 3338 + version = "0.1.20" 3339 + source = "registry+https://github.com/rust-lang/crates.io-index" 3340 + checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" 3341 + dependencies = [ 3342 + "proc-macro2", 3343 + "quote", 3344 + "syn", 3345 + ] 3346 + 3347 + [[package]] 3348 + name = "serde_urlencoded" 3349 + version = "0.7.1" 3350 + source = "registry+https://github.com/rust-lang/crates.io-index" 3351 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 3352 + dependencies = [ 3353 + "form_urlencoded", 3354 + "itoa", 3355 + "ryu", 3356 + "serde", 3357 + ] 3358 + 3359 + [[package]] 3360 + name = "serde_with" 3361 + version = "3.18.0" 3362 + source = "registry+https://github.com/rust-lang/crates.io-index" 3363 + checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" 3364 + dependencies = [ 3365 + "base64 0.22.1", 3366 + "chrono", 3367 + "hex", 3368 + "serde_core", 3369 + "serde_json", 3370 + "serde_with_macros", 3371 + "time", 3372 + ] 3373 + 3374 + [[package]] 3375 + name = "serde_with_macros" 3376 + version = "3.18.0" 3377 + source = "registry+https://github.com/rust-lang/crates.io-index" 3378 + checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" 3379 + dependencies = [ 3380 + "darling", 3381 + "proc-macro2", 3382 + "quote", 3383 + "syn", 3384 + ] 3385 + 3386 + [[package]] 3387 + name = "sha1_smol" 3388 + version = "1.0.1" 3389 + source = "registry+https://github.com/rust-lang/crates.io-index" 3390 + checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" 3391 + 3392 + [[package]] 3393 + name = "sha2" 3394 + version = "0.10.9" 3395 + source = "registry+https://github.com/rust-lang/crates.io-index" 3396 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 3397 + dependencies = [ 3398 + "cfg-if", 3399 + "cpufeatures", 3400 + "digest", 3401 + ] 3402 + 3403 + [[package]] 3404 + name = "sharded-slab" 3405 + version = "0.1.7" 3406 + source = "registry+https://github.com/rust-lang/crates.io-index" 3407 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 3408 + dependencies = [ 3409 + "lazy_static", 3410 + ] 3411 + 3412 + [[package]] 3413 + name = "shlex" 3414 + version = "1.3.0" 3415 + source = "registry+https://github.com/rust-lang/crates.io-index" 3416 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 3417 + 3418 + [[package]] 3419 + name = "signal-hook-registry" 3420 + version = "1.4.8" 3421 + source = "registry+https://github.com/rust-lang/crates.io-index" 3422 + checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" 3423 + dependencies = [ 3424 + "errno", 3425 + "libc", 3426 + ] 3427 + 3428 + [[package]] 3429 + name = "signature" 3430 + version = "2.2.0" 3431 + source = "registry+https://github.com/rust-lang/crates.io-index" 3432 + checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 3433 + dependencies = [ 3434 + "digest", 3435 + "rand_core 0.6.4", 3436 + ] 3437 + 3438 + [[package]] 3439 + name = "simd-adler32" 3440 + version = "0.3.9" 3441 + source = "registry+https://github.com/rust-lang/crates.io-index" 3442 + checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" 3443 + 3444 + [[package]] 3445 + name = "siphasher" 3446 + version = "1.0.2" 3447 + source = "registry+https://github.com/rust-lang/crates.io-index" 3448 + checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" 3449 + 3450 + [[package]] 3451 + name = "slab" 3452 + version = "0.4.12" 3453 + source = "registry+https://github.com/rust-lang/crates.io-index" 3454 + checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" 3455 + 3456 + [[package]] 3457 + name = "smallvec" 3458 + version = "1.15.1" 3459 + source = "registry+https://github.com/rust-lang/crates.io-index" 3460 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 3461 + 3462 + [[package]] 3463 + name = "smol_str" 3464 + version = "0.3.6" 3465 + source = "registry+https://github.com/rust-lang/crates.io-index" 3466 + checksum = "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523" 3467 + dependencies = [ 3468 + "borsh", 3469 + "serde_core", 3470 + ] 3471 + 3472 + [[package]] 3473 + name = "socket2" 3474 + version = "0.5.10" 3475 + source = "registry+https://github.com/rust-lang/crates.io-index" 3476 + checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" 3477 + dependencies = [ 3478 + "libc", 3479 + "windows-sys 0.52.0", 3480 + ] 3481 + 3482 + [[package]] 3483 + name = "socket2" 3484 + version = "0.6.3" 3485 + source = "registry+https://github.com/rust-lang/crates.io-index" 3486 + checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" 3487 + dependencies = [ 3488 + "libc", 3489 + "windows-sys 0.61.2", 3490 + ] 3491 + 3492 + [[package]] 3493 + name = "spin" 3494 + version = "0.9.8" 3495 + source = "registry+https://github.com/rust-lang/crates.io-index" 3496 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 3497 + dependencies = [ 3498 + "lock_api", 3499 + ] 3500 + 3501 + [[package]] 3502 + name = "spin" 3503 + version = "0.10.0" 3504 + source = "registry+https://github.com/rust-lang/crates.io-index" 3505 + checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" 3506 + 3507 + [[package]] 3508 + name = "spki" 3509 + version = "0.7.3" 3510 + source = "registry+https://github.com/rust-lang/crates.io-index" 3511 + checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 3512 + dependencies = [ 3513 + "base64ct", 3514 + "der", 3515 + ] 3516 + 3517 + [[package]] 3518 + name = "stable_deref_trait" 3519 + version = "1.2.1" 3520 + source = "registry+https://github.com/rust-lang/crates.io-index" 3521 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 3522 + 3523 + [[package]] 3524 + name = "static_assertions" 3525 + version = "1.1.0" 3526 + source = "registry+https://github.com/rust-lang/crates.io-index" 3527 + checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 3528 + 3529 + [[package]] 3530 + name = "string_cache" 3531 + version = "0.8.9" 3532 + source = "registry+https://github.com/rust-lang/crates.io-index" 3533 + checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" 3534 + dependencies = [ 3535 + "new_debug_unreachable", 3536 + "parking_lot", 3537 + "phf_shared", 3538 + "precomputed-hash", 3539 + "serde", 3540 + ] 3541 + 3542 + [[package]] 3543 + name = "string_cache_codegen" 3544 + version = "0.5.4" 3545 + source = "registry+https://github.com/rust-lang/crates.io-index" 3546 + checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" 3547 + dependencies = [ 3548 + "phf_generator", 3549 + "phf_shared", 3550 + "proc-macro2", 3551 + "quote", 3552 + ] 3553 + 3554 + [[package]] 3555 + name = "strsim" 3556 + version = "0.11.1" 3557 + source = "registry+https://github.com/rust-lang/crates.io-index" 3558 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 3559 + 3560 + [[package]] 3561 + name = "subtle" 3562 + version = "2.6.1" 3563 + source = "registry+https://github.com/rust-lang/crates.io-index" 3564 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 3565 + 3566 + [[package]] 3567 + name = "syn" 3568 + version = "2.0.117" 3569 + source = "registry+https://github.com/rust-lang/crates.io-index" 3570 + checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" 3571 + dependencies = [ 3572 + "proc-macro2", 3573 + "quote", 3574 + "unicode-ident", 3575 + ] 3576 + 3577 + [[package]] 3578 + name = "sync_wrapper" 3579 + version = "1.0.2" 3580 + source = "registry+https://github.com/rust-lang/crates.io-index" 3581 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 3582 + dependencies = [ 3583 + "futures-core", 3584 + ] 3585 + 3586 + [[package]] 3587 + name = "synstructure" 3588 + version = "0.13.2" 3589 + source = "registry+https://github.com/rust-lang/crates.io-index" 3590 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 3591 + dependencies = [ 3592 + "proc-macro2", 3593 + "quote", 3594 + "syn", 3595 + ] 3596 + 3597 + [[package]] 3598 + name = "system-configuration" 3599 + version = "0.7.0" 3600 + source = "registry+https://github.com/rust-lang/crates.io-index" 3601 + checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" 3602 + dependencies = [ 3603 + "bitflags", 3604 + "core-foundation 0.9.4", 3605 + "system-configuration-sys", 3606 + ] 3607 + 3608 + [[package]] 3609 + name = "system-configuration-sys" 3610 + version = "0.6.0" 3611 + source = "registry+https://github.com/rust-lang/crates.io-index" 3612 + checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 3613 + dependencies = [ 3614 + "core-foundation-sys", 3615 + "libc", 3616 + ] 3617 + 3618 + [[package]] 3619 + name = "tagptr" 3620 + version = "0.2.0" 3621 + source = "registry+https://github.com/rust-lang/crates.io-index" 3622 + checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 3623 + 3624 + [[package]] 3625 + name = "tempfile" 3626 + version = "3.27.0" 3627 + source = "registry+https://github.com/rust-lang/crates.io-index" 3628 + checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" 3629 + dependencies = [ 3630 + "fastrand", 3631 + "getrandom 0.3.4", 3632 + "once_cell", 3633 + "rustix", 3634 + "windows-sys 0.52.0", 3635 + ] 3636 + 3637 + [[package]] 3638 + name = "tendril" 3639 + version = "0.4.3" 3640 + source = "registry+https://github.com/rust-lang/crates.io-index" 3641 + checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 3642 + dependencies = [ 3643 + "futf", 3644 + "mac", 3645 + "utf-8", 3646 + ] 3647 + 3648 + [[package]] 3649 + name = "thiserror" 3650 + version = "1.0.69" 3651 + source = "registry+https://github.com/rust-lang/crates.io-index" 3652 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 3653 + dependencies = [ 3654 + "thiserror-impl 1.0.69", 3655 + ] 3656 + 3657 + [[package]] 3658 + name = "thiserror" 3659 + version = "2.0.18" 3660 + source = "registry+https://github.com/rust-lang/crates.io-index" 3661 + checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" 3662 + dependencies = [ 3663 + "thiserror-impl 2.0.18", 3664 + ] 3665 + 3666 + [[package]] 3667 + name = "thiserror-impl" 3668 + version = "1.0.69" 3669 + source = "registry+https://github.com/rust-lang/crates.io-index" 3670 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 3671 + dependencies = [ 3672 + "proc-macro2", 3673 + "quote", 3674 + "syn", 3675 + ] 3676 + 3677 + [[package]] 3678 + name = "thiserror-impl" 3679 + version = "2.0.18" 3680 + source = "registry+https://github.com/rust-lang/crates.io-index" 3681 + checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" 3682 + dependencies = [ 3683 + "proc-macro2", 3684 + "quote", 3685 + "syn", 3686 + ] 3687 + 3688 + [[package]] 3689 + name = "thread_local" 3690 + version = "1.1.9" 3691 + source = "registry+https://github.com/rust-lang/crates.io-index" 3692 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 3693 + dependencies = [ 3694 + "cfg-if", 3695 + ] 3696 + 3697 + [[package]] 3698 + name = "threadpool" 3699 + version = "1.8.1" 3700 + source = "registry+https://github.com/rust-lang/crates.io-index" 3701 + checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" 3702 + dependencies = [ 3703 + "num_cpus", 3704 + ] 3705 + 3706 + [[package]] 3707 + name = "time" 3708 + version = "0.3.47" 3709 + source = "registry+https://github.com/rust-lang/crates.io-index" 3710 + checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" 3711 + dependencies = [ 3712 + "deranged", 3713 + "libc", 3714 + "num-conv", 3715 + "num_threads", 3716 + "powerfmt", 3717 + "serde_core", 3718 + "time-core", 3719 + ] 3720 + 3721 + [[package]] 3722 + name = "time-core" 3723 + version = "0.1.8" 3724 + source = "registry+https://github.com/rust-lang/crates.io-index" 3725 + checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" 3726 + 3727 + [[package]] 3728 + name = "tiny_http" 3729 + version = "0.12.0" 3730 + source = "registry+https://github.com/rust-lang/crates.io-index" 3731 + checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82" 3732 + dependencies = [ 3733 + "ascii", 3734 + "chunked_transfer", 3735 + "httpdate", 3736 + "log", 3737 + ] 3738 + 3739 + [[package]] 3740 + name = "tinystr" 3741 + version = "0.8.3" 3742 + source = "registry+https://github.com/rust-lang/crates.io-index" 3743 + checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" 3744 + dependencies = [ 3745 + "displaydoc", 3746 + "zerovec", 3747 + ] 3748 + 3749 + [[package]] 3750 + name = "tinyvec" 3751 + version = "1.11.0" 3752 + source = "registry+https://github.com/rust-lang/crates.io-index" 3753 + checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" 3754 + dependencies = [ 3755 + "tinyvec_macros", 3756 + ] 3757 + 3758 + [[package]] 3759 + name = "tinyvec_macros" 3760 + version = "0.1.1" 3761 + source = "registry+https://github.com/rust-lang/crates.io-index" 3762 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 3763 + 3764 + [[package]] 3765 + name = "tokio" 3766 + version = "1.52.1" 3767 + source = "registry+https://github.com/rust-lang/crates.io-index" 3768 + checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" 3769 + dependencies = [ 3770 + "bytes", 3771 + "libc", 3772 + "mio", 3773 + "pin-project-lite", 3774 + "signal-hook-registry", 3775 + "socket2 0.6.3", 3776 + "tokio-macros", 3777 + "windows-sys 0.61.2", 3778 + ] 3779 + 3780 + [[package]] 3781 + name = "tokio-macros" 3782 + version = "2.7.0" 3783 + source = "registry+https://github.com/rust-lang/crates.io-index" 3784 + checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" 3785 + dependencies = [ 3786 + "proc-macro2", 3787 + "quote", 3788 + "syn", 3789 + ] 3790 + 3791 + [[package]] 3792 + name = "tokio-rustls" 3793 + version = "0.26.4" 3794 + source = "registry+https://github.com/rust-lang/crates.io-index" 3795 + checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 3796 + dependencies = [ 3797 + "rustls", 3798 + "tokio", 3799 + ] 3800 + 3801 + [[package]] 3802 + name = "tokio-util" 3803 + version = "0.7.18" 3804 + source = "registry+https://github.com/rust-lang/crates.io-index" 3805 + checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" 3806 + dependencies = [ 3807 + "bytes", 3808 + "futures-core", 3809 + "futures-sink", 3810 + "futures-util", 3811 + "pin-project-lite", 3812 + "tokio", 3813 + ] 3814 + 3815 + [[package]] 3816 + name = "tower" 3817 + version = "0.5.3" 3818 + source = "registry+https://github.com/rust-lang/crates.io-index" 3819 + checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" 3820 + dependencies = [ 3821 + "futures-core", 3822 + "futures-util", 3823 + "pin-project-lite", 3824 + "sync_wrapper", 3825 + "tokio", 3826 + "tower-layer", 3827 + "tower-service", 3828 + "tracing", 3829 + ] 3830 + 3831 + [[package]] 3832 + name = "tower-http" 3833 + version = "0.6.8" 3834 + source = "registry+https://github.com/rust-lang/crates.io-index" 3835 + checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" 3836 + dependencies = [ 3837 + "async-compression", 3838 + "bitflags", 3839 + "bytes", 3840 + "futures-core", 3841 + "futures-util", 3842 + "http", 3843 + "http-body", 3844 + "http-body-util", 3845 + "iri-string", 3846 + "pin-project-lite", 3847 + "tokio", 3848 + "tokio-util", 3849 + "tower", 3850 + "tower-layer", 3851 + "tower-service", 3852 + "tracing", 3853 + ] 3854 + 3855 + [[package]] 3856 + name = "tower-layer" 3857 + version = "0.3.3" 3858 + source = "registry+https://github.com/rust-lang/crates.io-index" 3859 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 3860 + 3861 + [[package]] 3862 + name = "tower-service" 3863 + version = "0.3.3" 3864 + source = "registry+https://github.com/rust-lang/crates.io-index" 3865 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 3866 + 3867 + [[package]] 3868 + name = "tracing" 3869 + version = "0.1.44" 3870 + source = "registry+https://github.com/rust-lang/crates.io-index" 3871 + checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" 3872 + dependencies = [ 3873 + "log", 3874 + "pin-project-lite", 3875 + "tracing-attributes", 3876 + "tracing-core", 3877 + ] 3878 + 3879 + [[package]] 3880 + name = "tracing-attributes" 3881 + version = "0.1.31" 3882 + source = "registry+https://github.com/rust-lang/crates.io-index" 3883 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 3884 + dependencies = [ 3885 + "proc-macro2", 3886 + "quote", 3887 + "syn", 3888 + ] 3889 + 3890 + [[package]] 3891 + name = "tracing-core" 3892 + version = "0.1.36" 3893 + source = "registry+https://github.com/rust-lang/crates.io-index" 3894 + checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" 3895 + dependencies = [ 3896 + "once_cell", 3897 + "valuable", 3898 + ] 3899 + 3900 + [[package]] 3901 + name = "tracing-log" 3902 + version = "0.2.0" 3903 + source = "registry+https://github.com/rust-lang/crates.io-index" 3904 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 3905 + dependencies = [ 3906 + "log", 3907 + "once_cell", 3908 + "tracing-core", 3909 + ] 3910 + 3911 + [[package]] 3912 + name = "tracing-subscriber" 3913 + version = "0.3.23" 3914 + source = "registry+https://github.com/rust-lang/crates.io-index" 3915 + checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" 3916 + dependencies = [ 3917 + "matchers", 3918 + "nu-ansi-term", 3919 + "once_cell", 3920 + "regex-automata", 3921 + "sharded-slab", 3922 + "smallvec", 3923 + "thread_local", 3924 + "tracing", 3925 + "tracing-core", 3926 + "tracing-log", 3927 + ] 3928 + 3929 + [[package]] 3930 + name = "trait-variant" 3931 + version = "0.1.2" 3932 + source = "registry+https://github.com/rust-lang/crates.io-index" 3933 + checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" 3934 + dependencies = [ 3935 + "proc-macro2", 3936 + "quote", 3937 + "syn", 3938 + ] 3939 + 3940 + [[package]] 3941 + name = "triomphe" 3942 + version = "0.1.15" 3943 + source = "registry+https://github.com/rust-lang/crates.io-index" 3944 + checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" 3945 + 3946 + [[package]] 3947 + name = "try-lock" 3948 + version = "0.2.5" 3949 + source = "registry+https://github.com/rust-lang/crates.io-index" 3950 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 3951 + 3952 + [[package]] 3953 + name = "twoway" 3954 + version = "0.1.8" 3955 + source = "registry+https://github.com/rust-lang/crates.io-index" 3956 + checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" 3957 + dependencies = [ 3958 + "memchr", 3959 + ] 3960 + 3961 + [[package]] 3962 + name = "typenum" 3963 + version = "1.19.0" 3964 + source = "registry+https://github.com/rust-lang/crates.io-index" 3965 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 3966 + 3967 + [[package]] 3968 + name = "unicase" 3969 + version = "2.9.0" 3970 + source = "registry+https://github.com/rust-lang/crates.io-index" 3971 + checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" 3972 + 3973 + [[package]] 3974 + name = "unicode-ident" 3975 + version = "1.0.24" 3976 + source = "registry+https://github.com/rust-lang/crates.io-index" 3977 + checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" 3978 + 3979 + [[package]] 3980 + name = "unicode-segmentation" 3981 + version = "1.13.2" 3982 + source = "registry+https://github.com/rust-lang/crates.io-index" 3983 + checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" 3984 + 3985 + [[package]] 3986 + name = "unicode-width" 3987 + version = "0.1.14" 3988 + source = "registry+https://github.com/rust-lang/crates.io-index" 3989 + checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 3990 + 3991 + [[package]] 3992 + name = "unicode-xid" 3993 + version = "0.2.6" 3994 + source = "registry+https://github.com/rust-lang/crates.io-index" 3995 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 3996 + 3997 + [[package]] 3998 + name = "unsigned-varint" 3999 + version = "0.8.0" 4000 + source = "registry+https://github.com/rust-lang/crates.io-index" 4001 + checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 4002 + 4003 + [[package]] 4004 + name = "untrusted" 4005 + version = "0.9.0" 4006 + source = "registry+https://github.com/rust-lang/crates.io-index" 4007 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 4008 + 4009 + [[package]] 4010 + name = "url" 4011 + version = "2.5.8" 4012 + source = "registry+https://github.com/rust-lang/crates.io-index" 4013 + checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" 4014 + dependencies = [ 4015 + "form_urlencoded", 4016 + "idna", 4017 + "percent-encoding", 4018 + "serde", 4019 + ] 4020 + 4021 + [[package]] 4022 + name = "utf-8" 4023 + version = "0.7.6" 4024 + source = "registry+https://github.com/rust-lang/crates.io-index" 4025 + checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 4026 + 4027 + [[package]] 4028 + name = "utf8_iter" 4029 + version = "1.0.4" 4030 + source = "registry+https://github.com/rust-lang/crates.io-index" 4031 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 4032 + 4033 + [[package]] 4034 + name = "utf8parse" 4035 + version = "0.2.2" 4036 + source = "registry+https://github.com/rust-lang/crates.io-index" 4037 + checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 4038 + 4039 + [[package]] 4040 + name = "valuable" 4041 + version = "0.1.1" 4042 + source = "registry+https://github.com/rust-lang/crates.io-index" 4043 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 4044 + 4045 + [[package]] 4046 + name = "version_check" 4047 + version = "0.9.5" 4048 + source = "registry+https://github.com/rust-lang/crates.io-index" 4049 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 4050 + 4051 + [[package]] 4052 + name = "walkdir" 4053 + version = "2.5.0" 4054 + source = "registry+https://github.com/rust-lang/crates.io-index" 4055 + checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 4056 + dependencies = [ 4057 + "same-file", 4058 + "winapi-util", 4059 + ] 4060 + 4061 + [[package]] 4062 + name = "want" 4063 + version = "0.3.1" 4064 + source = "registry+https://github.com/rust-lang/crates.io-index" 4065 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 4066 + dependencies = [ 4067 + "try-lock", 4068 + ] 4069 + 4070 + [[package]] 4071 + name = "wasi" 4072 + version = "0.11.1+wasi-snapshot-preview1" 4073 + source = "registry+https://github.com/rust-lang/crates.io-index" 4074 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 4075 + 4076 + [[package]] 4077 + name = "wasip2" 4078 + version = "1.0.2+wasi-0.2.9" 4079 + source = "registry+https://github.com/rust-lang/crates.io-index" 4080 + checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" 4081 + dependencies = [ 4082 + "wit-bindgen", 4083 + ] 4084 + 4085 + [[package]] 4086 + name = "wasm-bindgen" 4087 + version = "0.2.118" 4088 + source = "registry+https://github.com/rust-lang/crates.io-index" 4089 + checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" 4090 + dependencies = [ 4091 + "cfg-if", 4092 + "once_cell", 4093 + "rustversion", 4094 + "wasm-bindgen-macro", 4095 + "wasm-bindgen-shared", 4096 + ] 4097 + 4098 + [[package]] 4099 + name = "wasm-bindgen-futures" 4100 + version = "0.4.68" 4101 + source = "registry+https://github.com/rust-lang/crates.io-index" 4102 + checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" 4103 + dependencies = [ 4104 + "js-sys", 4105 + "wasm-bindgen", 4106 + ] 4107 + 4108 + [[package]] 4109 + name = "wasm-bindgen-macro" 4110 + version = "0.2.118" 4111 + source = "registry+https://github.com/rust-lang/crates.io-index" 4112 + checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" 4113 + dependencies = [ 4114 + "quote", 4115 + "wasm-bindgen-macro-support", 4116 + ] 4117 + 4118 + [[package]] 4119 + name = "wasm-bindgen-macro-support" 4120 + version = "0.2.118" 4121 + source = "registry+https://github.com/rust-lang/crates.io-index" 4122 + checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" 4123 + dependencies = [ 4124 + "bumpalo", 4125 + "proc-macro2", 4126 + "quote", 4127 + "syn", 4128 + "wasm-bindgen-shared", 4129 + ] 4130 + 4131 + [[package]] 4132 + name = "wasm-bindgen-shared" 4133 + version = "0.2.118" 4134 + source = "registry+https://github.com/rust-lang/crates.io-index" 4135 + checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" 4136 + dependencies = [ 4137 + "unicode-ident", 4138 + ] 4139 + 4140 + [[package]] 4141 + name = "web-sys" 4142 + version = "0.3.95" 4143 + source = "registry+https://github.com/rust-lang/crates.io-index" 4144 + checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" 4145 + dependencies = [ 4146 + "js-sys", 4147 + "wasm-bindgen", 4148 + ] 4149 + 4150 + [[package]] 4151 + name = "web-time" 4152 + version = "1.1.0" 4153 + source = "registry+https://github.com/rust-lang/crates.io-index" 4154 + checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 4155 + dependencies = [ 4156 + "js-sys", 4157 + "wasm-bindgen", 4158 + ] 4159 + 4160 + [[package]] 4161 + name = "webbrowser" 4162 + version = "1.1.0" 4163 + source = "registry+https://github.com/rust-lang/crates.io-index" 4164 + checksum = "3f00bb839c1cf1e3036066614cbdcd035ecf215206691ea646aa3c60a24f68f2" 4165 + dependencies = [ 4166 + "core-foundation 0.10.1", 4167 + "jni", 4168 + "log", 4169 + "ndk-context", 4170 + "objc2", 4171 + "objc2-foundation", 4172 + "url", 4173 + "web-sys", 4174 + ] 4175 + 4176 + [[package]] 4177 + name = "webpage" 4178 + version = "2.0.1" 4179 + source = "registry+https://github.com/rust-lang/crates.io-index" 4180 + checksum = "70862efc041d46e6bbaa82bb9c34ae0596d090e86cbd14bd9e93b36ee6802eac" 4181 + dependencies = [ 4182 + "html5ever", 4183 + "markup5ever_rcdom", 4184 + "serde_json", 4185 + "url", 4186 + ] 4187 + 4188 + [[package]] 4189 + name = "webpki-roots" 4190 + version = "1.0.7" 4191 + source = "registry+https://github.com/rust-lang/crates.io-index" 4192 + checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" 4193 + dependencies = [ 4194 + "rustls-pki-types", 4195 + ] 4196 + 4197 + [[package]] 4198 + name = "widestring" 4199 + version = "1.2.1" 4200 + source = "registry+https://github.com/rust-lang/crates.io-index" 4201 + checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" 4202 + 4203 + [[package]] 4204 + name = "winapi-util" 4205 + version = "0.1.11" 4206 + source = "registry+https://github.com/rust-lang/crates.io-index" 4207 + checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 4208 + dependencies = [ 4209 + "windows-sys 0.52.0", 4210 + ] 4211 + 4212 + [[package]] 4213 + name = "windows-core" 4214 + version = "0.62.2" 4215 + source = "registry+https://github.com/rust-lang/crates.io-index" 4216 + checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 4217 + dependencies = [ 4218 + "windows-implement", 4219 + "windows-interface", 4220 + "windows-link", 4221 + "windows-result", 4222 + "windows-strings", 4223 + ] 4224 + 4225 + [[package]] 4226 + name = "windows-implement" 4227 + version = "0.60.2" 4228 + source = "registry+https://github.com/rust-lang/crates.io-index" 4229 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 4230 + dependencies = [ 4231 + "proc-macro2", 4232 + "quote", 4233 + "syn", 4234 + ] 4235 + 4236 + [[package]] 4237 + name = "windows-interface" 4238 + version = "0.59.3" 4239 + source = "registry+https://github.com/rust-lang/crates.io-index" 4240 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 4241 + dependencies = [ 4242 + "proc-macro2", 4243 + "quote", 4244 + "syn", 4245 + ] 4246 + 4247 + [[package]] 4248 + name = "windows-link" 4249 + version = "0.2.1" 4250 + source = "registry+https://github.com/rust-lang/crates.io-index" 4251 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 4252 + 4253 + [[package]] 4254 + name = "windows-registry" 4255 + version = "0.6.1" 4256 + source = "registry+https://github.com/rust-lang/crates.io-index" 4257 + checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" 4258 + dependencies = [ 4259 + "windows-link", 4260 + "windows-result", 4261 + "windows-strings", 4262 + ] 4263 + 4264 + [[package]] 4265 + name = "windows-result" 4266 + version = "0.4.1" 4267 + source = "registry+https://github.com/rust-lang/crates.io-index" 4268 + checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 4269 + dependencies = [ 4270 + "windows-link", 4271 + ] 4272 + 4273 + [[package]] 4274 + name = "windows-strings" 4275 + version = "0.5.1" 4276 + source = "registry+https://github.com/rust-lang/crates.io-index" 4277 + checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 4278 + dependencies = [ 4279 + "windows-link", 4280 + ] 4281 + 4282 + [[package]] 4283 + name = "windows-sys" 4284 + version = "0.45.0" 4285 + source = "registry+https://github.com/rust-lang/crates.io-index" 4286 + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 4287 + dependencies = [ 4288 + "windows-targets 0.42.2", 4289 + ] 4290 + 4291 + [[package]] 4292 + name = "windows-sys" 4293 + version = "0.48.0" 4294 + source = "registry+https://github.com/rust-lang/crates.io-index" 4295 + checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 4296 + dependencies = [ 4297 + "windows-targets 0.48.5", 4298 + ] 4299 + 4300 + [[package]] 4301 + name = "windows-sys" 4302 + version = "0.52.0" 4303 + source = "registry+https://github.com/rust-lang/crates.io-index" 4304 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 4305 + dependencies = [ 4306 + "windows-targets 0.52.6", 4307 + ] 4308 + 4309 + [[package]] 4310 + name = "windows-sys" 4311 + version = "0.60.2" 4312 + source = "registry+https://github.com/rust-lang/crates.io-index" 4313 + checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 4314 + dependencies = [ 4315 + "windows-targets 0.53.5", 4316 + ] 4317 + 4318 + [[package]] 4319 + name = "windows-sys" 4320 + version = "0.61.2" 4321 + source = "registry+https://github.com/rust-lang/crates.io-index" 4322 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 4323 + dependencies = [ 4324 + "windows-link", 4325 + ] 4326 + 4327 + [[package]] 4328 + name = "windows-targets" 4329 + version = "0.42.2" 4330 + source = "registry+https://github.com/rust-lang/crates.io-index" 4331 + checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 4332 + dependencies = [ 4333 + "windows_aarch64_gnullvm 0.42.2", 4334 + "windows_aarch64_msvc 0.42.2", 4335 + "windows_i686_gnu 0.42.2", 4336 + "windows_i686_msvc 0.42.2", 4337 + "windows_x86_64_gnu 0.42.2", 4338 + "windows_x86_64_gnullvm 0.42.2", 4339 + "windows_x86_64_msvc 0.42.2", 4340 + ] 4341 + 4342 + [[package]] 4343 + name = "windows-targets" 4344 + version = "0.48.5" 4345 + source = "registry+https://github.com/rust-lang/crates.io-index" 4346 + checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 4347 + dependencies = [ 4348 + "windows_aarch64_gnullvm 0.48.5", 4349 + "windows_aarch64_msvc 0.48.5", 4350 + "windows_i686_gnu 0.48.5", 4351 + "windows_i686_msvc 0.48.5", 4352 + "windows_x86_64_gnu 0.48.5", 4353 + "windows_x86_64_gnullvm 0.48.5", 4354 + "windows_x86_64_msvc 0.48.5", 4355 + ] 4356 + 4357 + [[package]] 4358 + name = "windows-targets" 4359 + version = "0.52.6" 4360 + source = "registry+https://github.com/rust-lang/crates.io-index" 4361 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 4362 + dependencies = [ 4363 + "windows_aarch64_gnullvm 0.52.6", 4364 + "windows_aarch64_msvc 0.52.6", 4365 + "windows_i686_gnu 0.52.6", 4366 + "windows_i686_gnullvm 0.52.6", 4367 + "windows_i686_msvc 0.52.6", 4368 + "windows_x86_64_gnu 0.52.6", 4369 + "windows_x86_64_gnullvm 0.52.6", 4370 + "windows_x86_64_msvc 0.52.6", 4371 + ] 4372 + 4373 + [[package]] 4374 + name = "windows-targets" 4375 + version = "0.53.5" 4376 + source = "registry+https://github.com/rust-lang/crates.io-index" 4377 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 4378 + dependencies = [ 4379 + "windows-link", 4380 + "windows_aarch64_gnullvm 0.53.1", 4381 + "windows_aarch64_msvc 0.53.1", 4382 + "windows_i686_gnu 0.53.1", 4383 + "windows_i686_gnullvm 0.53.1", 4384 + "windows_i686_msvc 0.53.1", 4385 + "windows_x86_64_gnu 0.53.1", 4386 + "windows_x86_64_gnullvm 0.53.1", 4387 + "windows_x86_64_msvc 0.53.1", 4388 + ] 4389 + 4390 + [[package]] 4391 + name = "windows_aarch64_gnullvm" 4392 + version = "0.42.2" 4393 + source = "registry+https://github.com/rust-lang/crates.io-index" 4394 + checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 4395 + 4396 + [[package]] 4397 + name = "windows_aarch64_gnullvm" 4398 + version = "0.48.5" 4399 + source = "registry+https://github.com/rust-lang/crates.io-index" 4400 + checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 4401 + 4402 + [[package]] 4403 + name = "windows_aarch64_gnullvm" 4404 + version = "0.52.6" 4405 + source = "registry+https://github.com/rust-lang/crates.io-index" 4406 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 4407 + 4408 + [[package]] 4409 + name = "windows_aarch64_gnullvm" 4410 + version = "0.53.1" 4411 + source = "registry+https://github.com/rust-lang/crates.io-index" 4412 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 4413 + 4414 + [[package]] 4415 + name = "windows_aarch64_msvc" 4416 + version = "0.42.2" 4417 + source = "registry+https://github.com/rust-lang/crates.io-index" 4418 + checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 4419 + 4420 + [[package]] 4421 + name = "windows_aarch64_msvc" 4422 + version = "0.48.5" 4423 + source = "registry+https://github.com/rust-lang/crates.io-index" 4424 + checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 4425 + 4426 + [[package]] 4427 + name = "windows_aarch64_msvc" 4428 + version = "0.52.6" 4429 + source = "registry+https://github.com/rust-lang/crates.io-index" 4430 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 4431 + 4432 + [[package]] 4433 + name = "windows_aarch64_msvc" 4434 + version = "0.53.1" 4435 + source = "registry+https://github.com/rust-lang/crates.io-index" 4436 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 4437 + 4438 + [[package]] 4439 + name = "windows_i686_gnu" 4440 + version = "0.42.2" 4441 + source = "registry+https://github.com/rust-lang/crates.io-index" 4442 + checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 4443 + 4444 + [[package]] 4445 + name = "windows_i686_gnu" 4446 + version = "0.48.5" 4447 + source = "registry+https://github.com/rust-lang/crates.io-index" 4448 + checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 4449 + 4450 + [[package]] 4451 + name = "windows_i686_gnu" 4452 + version = "0.52.6" 4453 + source = "registry+https://github.com/rust-lang/crates.io-index" 4454 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 4455 + 4456 + [[package]] 4457 + name = "windows_i686_gnu" 4458 + version = "0.53.1" 4459 + source = "registry+https://github.com/rust-lang/crates.io-index" 4460 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 4461 + 4462 + [[package]] 4463 + name = "windows_i686_gnullvm" 4464 + version = "0.52.6" 4465 + source = "registry+https://github.com/rust-lang/crates.io-index" 4466 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 4467 + 4468 + [[package]] 4469 + name = "windows_i686_gnullvm" 4470 + version = "0.53.1" 4471 + source = "registry+https://github.com/rust-lang/crates.io-index" 4472 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 4473 + 4474 + [[package]] 4475 + name = "windows_i686_msvc" 4476 + version = "0.42.2" 4477 + source = "registry+https://github.com/rust-lang/crates.io-index" 4478 + checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 4479 + 4480 + [[package]] 4481 + name = "windows_i686_msvc" 4482 + version = "0.48.5" 4483 + source = "registry+https://github.com/rust-lang/crates.io-index" 4484 + checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 4485 + 4486 + [[package]] 4487 + name = "windows_i686_msvc" 4488 + version = "0.52.6" 4489 + source = "registry+https://github.com/rust-lang/crates.io-index" 4490 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 4491 + 4492 + [[package]] 4493 + name = "windows_i686_msvc" 4494 + version = "0.53.1" 4495 + source = "registry+https://github.com/rust-lang/crates.io-index" 4496 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 4497 + 4498 + [[package]] 4499 + name = "windows_x86_64_gnu" 4500 + version = "0.42.2" 4501 + source = "registry+https://github.com/rust-lang/crates.io-index" 4502 + checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 4503 + 4504 + [[package]] 4505 + name = "windows_x86_64_gnu" 4506 + version = "0.48.5" 4507 + source = "registry+https://github.com/rust-lang/crates.io-index" 4508 + checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4509 + 4510 + [[package]] 4511 + name = "windows_x86_64_gnu" 4512 + version = "0.52.6" 4513 + source = "registry+https://github.com/rust-lang/crates.io-index" 4514 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 4515 + 4516 + [[package]] 4517 + name = "windows_x86_64_gnu" 4518 + version = "0.53.1" 4519 + source = "registry+https://github.com/rust-lang/crates.io-index" 4520 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 4521 + 4522 + [[package]] 4523 + name = "windows_x86_64_gnullvm" 4524 + version = "0.42.2" 4525 + source = "registry+https://github.com/rust-lang/crates.io-index" 4526 + checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 4527 + 4528 + [[package]] 4529 + name = "windows_x86_64_gnullvm" 4530 + version = "0.48.5" 4531 + source = "registry+https://github.com/rust-lang/crates.io-index" 4532 + checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4533 + 4534 + [[package]] 4535 + name = "windows_x86_64_gnullvm" 4536 + version = "0.52.6" 4537 + source = "registry+https://github.com/rust-lang/crates.io-index" 4538 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 4539 + 4540 + [[package]] 4541 + name = "windows_x86_64_gnullvm" 4542 + version = "0.53.1" 4543 + source = "registry+https://github.com/rust-lang/crates.io-index" 4544 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 4545 + 4546 + [[package]] 4547 + name = "windows_x86_64_msvc" 4548 + version = "0.42.2" 4549 + source = "registry+https://github.com/rust-lang/crates.io-index" 4550 + checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 4551 + 4552 + [[package]] 4553 + name = "windows_x86_64_msvc" 4554 + version = "0.48.5" 4555 + source = "registry+https://github.com/rust-lang/crates.io-index" 4556 + checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 4557 + 4558 + [[package]] 4559 + name = "windows_x86_64_msvc" 4560 + version = "0.52.6" 4561 + source = "registry+https://github.com/rust-lang/crates.io-index" 4562 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 4563 + 4564 + [[package]] 4565 + name = "windows_x86_64_msvc" 4566 + version = "0.53.1" 4567 + source = "registry+https://github.com/rust-lang/crates.io-index" 4568 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 4569 + 4570 + [[package]] 4571 + name = "winreg" 4572 + version = "0.50.0" 4573 + source = "registry+https://github.com/rust-lang/crates.io-index" 4574 + checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 4575 + dependencies = [ 4576 + "cfg-if", 4577 + "windows-sys 0.48.0", 4578 + ] 4579 + 4580 + [[package]] 4581 + name = "wit-bindgen" 4582 + version = "0.51.0" 4583 + source = "registry+https://github.com/rust-lang/crates.io-index" 4584 + checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" 4585 + 4586 + [[package]] 4587 + name = "writeable" 4588 + version = "0.6.3" 4589 + source = "registry+https://github.com/rust-lang/crates.io-index" 4590 + checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" 4591 + 4592 + [[package]] 4593 + name = "xml5ever" 4594 + version = "0.18.1" 4595 + source = "registry+https://github.com/rust-lang/crates.io-index" 4596 + checksum = "9bbb26405d8e919bc1547a5aa9abc95cbfa438f04844f5fdd9dc7596b748bf69" 4597 + dependencies = [ 4598 + "log", 4599 + "mac", 4600 + "markup5ever", 4601 + ] 4602 + 4603 + [[package]] 4604 + name = "yansi" 4605 + version = "1.0.1" 4606 + source = "registry+https://github.com/rust-lang/crates.io-index" 4607 + checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" 4608 + 4609 + [[package]] 4610 + name = "yoke" 4611 + version = "0.8.2" 4612 + source = "registry+https://github.com/rust-lang/crates.io-index" 4613 + checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" 4614 + dependencies = [ 4615 + "stable_deref_trait", 4616 + "yoke-derive", 4617 + "zerofrom", 4618 + ] 4619 + 4620 + [[package]] 4621 + name = "yoke-derive" 4622 + version = "0.8.2" 4623 + source = "registry+https://github.com/rust-lang/crates.io-index" 4624 + checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" 4625 + dependencies = [ 4626 + "proc-macro2", 4627 + "quote", 4628 + "syn", 4629 + "synstructure", 4630 + ] 4631 + 4632 + [[package]] 4633 + name = "zerocopy" 4634 + version = "0.8.48" 4635 + source = "registry+https://github.com/rust-lang/crates.io-index" 4636 + checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" 4637 + dependencies = [ 4638 + "zerocopy-derive", 4639 + ] 4640 + 4641 + [[package]] 4642 + name = "zerocopy-derive" 4643 + version = "0.8.48" 4644 + source = "registry+https://github.com/rust-lang/crates.io-index" 4645 + checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" 4646 + dependencies = [ 4647 + "proc-macro2", 4648 + "quote", 4649 + "syn", 4650 + ] 4651 + 4652 + [[package]] 4653 + name = "zerofrom" 4654 + version = "0.1.7" 4655 + source = "registry+https://github.com/rust-lang/crates.io-index" 4656 + checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" 4657 + dependencies = [ 4658 + "zerofrom-derive", 4659 + ] 4660 + 4661 + [[package]] 4662 + name = "zerofrom-derive" 4663 + version = "0.1.7" 4664 + source = "registry+https://github.com/rust-lang/crates.io-index" 4665 + checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" 4666 + dependencies = [ 4667 + "proc-macro2", 4668 + "quote", 4669 + "syn", 4670 + "synstructure", 4671 + ] 4672 + 4673 + [[package]] 4674 + name = "zeroize" 4675 + version = "1.8.2" 4676 + source = "registry+https://github.com/rust-lang/crates.io-index" 4677 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 4678 + dependencies = [ 4679 + "serde", 4680 + ] 4681 + 4682 + [[package]] 4683 + name = "zerotrie" 4684 + version = "0.2.4" 4685 + source = "registry+https://github.com/rust-lang/crates.io-index" 4686 + checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" 4687 + dependencies = [ 4688 + "displaydoc", 4689 + "yoke", 4690 + "zerofrom", 4691 + ] 4692 + 4693 + [[package]] 4694 + name = "zerovec" 4695 + version = "0.11.6" 4696 + source = "registry+https://github.com/rust-lang/crates.io-index" 4697 + checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" 4698 + dependencies = [ 4699 + "yoke", 4700 + "zerofrom", 4701 + "zerovec-derive", 4702 + ] 4703 + 4704 + [[package]] 4705 + name = "zerovec-derive" 4706 + version = "0.11.3" 4707 + source = "registry+https://github.com/rust-lang/crates.io-index" 4708 + checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" 4709 + dependencies = [ 4710 + "proc-macro2", 4711 + "quote", 4712 + "syn", 4713 + ] 4714 + 4715 + [[package]] 4716 + name = "zmij" 4717 + version = "1.0.21" 4718 + source = "registry+https://github.com/rust-lang/crates.io-index" 4719 + checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+17
Cargo.toml
··· 1 + [package] 2 + name = "ceres" 3 + version = "0.1.0" 4 + edition = "2024" 5 + 6 + [dependencies] 7 + axum = "0.8.9" 8 + dotenvy = "0.15.7" 9 + env_logger = "0.11.10" 10 + jacquard = "0.11.0" 11 + jacquard-api = { version = "0.11.1", features = ["default", "app_bsky"] } 12 + jacquard-axum = "0.11.0" 13 + log = "0.4.29" 14 + serde = { version = "1.0.228", features = ["derive"] } 15 + serde_json = "1.0.149" 16 + tokio = { version = "1.52.1", features = ["macros", "rt-multi-thread", "net", "signal"] } 17 + tower-http = { version = "0.6.8", features = ["cors"] }
+2
src/handlers/mod.rs
··· 1 + pub mod well_known; 2 + pub mod xrpc;
+67
src/handlers/well_known.rs
··· 1 + use axum::Json; 2 + use serde::Serialize; 3 + use std::env; 4 + 5 + #[derive(Serialize)] 6 + #[serde(rename_all = "camelCase")] 7 + pub struct DidDocument { 8 + #[serde(rename = "@context")] 9 + context: Vec<String>, 10 + id: String, 11 + verification_method: Vec<VerificationMethod>, 12 + service: Vec<Service>, 13 + } 14 + 15 + #[derive(Serialize)] 16 + #[serde(rename_all = "camelCase")] 17 + struct VerificationMethod { 18 + id: String, 19 + #[serde(rename = "type")] 20 + type_: String, 21 + controller: String, 22 + public_key_multibase: Option<String>, 23 + } 24 + 25 + #[derive(Serialize)] 26 + #[serde(rename_all = "camelCase")] 27 + struct Service { 28 + id: String, 29 + #[serde(rename = "type")] 30 + type_: String, 31 + service_endpoint: String, 32 + } 33 + 34 + pub async fn did_document() -> Json<DidDocument> { 35 + let domain = 36 + env::var("APP_VIEW_DOMAIN").unwrap_or_else(|_| "api.blacksky.community".to_string()); 37 + let did_id = format!("did:web:{domain}"); 38 + let endpoint = format!("https://{domain}"); 39 + 40 + Json(DidDocument { 41 + context: vec![ 42 + "https://www.w3.org/ns/did/v1".to_string(), 43 + "https://w3id.org/security/multikey/v1".to_string(), 44 + ], 45 + verification_method: vec![VerificationMethod { 46 + id: format!("{did_id}#atproto"), 47 + type_: "Multikey".to_string(), 48 + controller: did_id.clone(), 49 + public_key_multibase: Some( 50 + "z42tusbpVy6BCE8tqcQAkvvRi9W3M7LEqLWNdTxtW2KicMNJ".to_string(), 51 + ), 52 + }], 53 + service: vec![ 54 + // Service { 55 + // id: "#bsky_notif".to_string(), 56 + // type_: "BskyNotificationService".to_string(), 57 + // service_endpoint: endpoint.clone(), 58 + // }, 59 + Service { 60 + id: "#bsky_appview".to_string(), 61 + type_: "BskyAppView".to_string(), 62 + service_endpoint: endpoint, 63 + }, 64 + ], 65 + id: did_id, 66 + }) 67 + }
+65
src/handlers/xrpc/app_bsky_actor.rs
··· 1 + use crate::handlers::xrpc::XrpcErrorResponse; 2 + use axum::{ 3 + Json, 4 + response::{IntoResponse, Response}, 5 + }; 6 + use jacquard::types::{datetime::Datetime, did::Did, handle::Handle, uri::UriValue}; 7 + use jacquard_api::app_bsky::actor::{ 8 + ProfileViewDetailed, 9 + get_profile::{GetProfileOutput, GetProfileRequest}, 10 + }; 11 + use jacquard_axum::ExtractXrpc; 12 + use log::info; 13 + 14 + pub async fn get_profile( 15 + ExtractXrpc(req): ExtractXrpc<GetProfileRequest>, 16 + ) -> Result<Response, XrpcErrorResponse> { 17 + info!("get_profile actor={}", req.actor.as_ref()); 18 + 19 + let profile = GetProfileOutput { 20 + value: ProfileViewDetailed { 21 + associated: None, 22 + avatar: Some( 23 + UriValue::new_owned( 24 + "https://cdn.bsky.app/img/avatar/plain/did:plc:exampleuser/avatar@jpeg", 25 + ) 26 + .map_err(|_| XrpcErrorResponse::internal_server_error())?, 27 + ), 28 + banner: Some( 29 + UriValue::new_owned( 30 + "https://cdn.bsky.app/img/banner/plain/did:plc:exampleuser/banner@jpeg", 31 + ) 32 + .map_err(|_| XrpcErrorResponse::internal_server_error())?, 33 + ), 34 + created_at: Some(Datetime::raw_str("2024-01-01T00:00:00.000Z")), 35 + debug: None, 36 + description: Some( 37 + "An example profile served from the ceres reconnaissance server.".into(), 38 + ), 39 + did: Did::new_static("did:plc:z72i7hdynmk6r22z27h6tvur") 40 + .map_err(|_| XrpcErrorResponse::internal_server_error())?, 41 + display_name: Some("Example User".into()), 42 + followers_count: Some(1234), 43 + follows_count: Some(56), 44 + handle: Handle::new_static("example.bsky.social") 45 + .map_err(|_| XrpcErrorResponse::internal_server_error())?, 46 + indexed_at: Some(Datetime::now()), 47 + joined_via_starter_pack: None, 48 + labels: None, 49 + pinned_post: None, 50 + posts_count: Some(42), 51 + pronouns: Some("they/them".into()), 52 + status: None, 53 + verification: None, 54 + viewer: None, 55 + website: Some( 56 + UriValue::new_owned("https://example.com") 57 + .map_err(|_| XrpcErrorResponse::internal_server_error())?, 58 + ), 59 + extra_data: Default::default(), 60 + }, 61 + extra_data: Default::default(), 62 + }; 63 + 64 + Ok(Json(profile).into_response()) 65 + }
+57
src/handlers/xrpc/mod.rs
··· 1 + use axum::{ 2 + Json, 3 + http::StatusCode, 4 + response::{IntoResponse, Response}, 5 + }; 6 + 7 + pub mod app_bsky_actor; 8 + 9 + pub struct XrpcErrorResponse { 10 + error: XrpcError, 11 + pub status: StatusCode, 12 + } 13 + 14 + impl XrpcErrorResponse { 15 + pub fn internal_server_error() -> Self { 16 + Self { 17 + error: XrpcError { 18 + error: "InternalServerError".to_string(), 19 + message: None, 20 + }, 21 + status: StatusCode::INTERNAL_SERVER_ERROR, 22 + } 23 + } 24 + 25 + pub fn auth_missing() -> Self { 26 + Self { 27 + error: XrpcError { 28 + error: "AuthMissing".to_string(), 29 + message: Some("Authentication Required".to_string()), 30 + }, 31 + status: StatusCode::UNAUTHORIZED, 32 + } 33 + } 34 + 35 + pub fn invalid_token(_message: Option<&str>) -> Self { 36 + Self { 37 + error: XrpcError { 38 + error: "InvalidToken".to_string(), 39 + message: None, 40 + }, 41 + status: StatusCode::UNAUTHORIZED, 42 + } 43 + } 44 + } 45 + 46 + #[derive(serde::Deserialize, serde::Serialize)] 47 + pub struct XrpcError { 48 + pub error: String, 49 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 50 + pub message: Option<String>, 51 + } 52 + 53 + impl IntoResponse for XrpcErrorResponse { 54 + fn into_response(self) -> Response { 55 + (self.status, Json(self.error)).into_response() 56 + } 57 + }
+84
src/main.rs
··· 1 + mod handlers; 2 + 3 + use axum::{ 4 + Json, Router, body, 5 + extract::Request, 6 + http::{Method, StatusCode}, 7 + routing::get, 8 + }; 9 + use env_logger::Env; 10 + use handlers::{well_known::did_document, xrpc::app_bsky_actor::get_profile}; 11 + use jacquard_api::app_bsky::actor::get_profile::GetProfileRequest; 12 + use jacquard_axum::IntoRouter; 13 + use log::info; 14 + use serde_json::{Value, json}; 15 + use std::env; 16 + use tokio::net::TcpListener; 17 + use tower_http::cors::CorsLayer; 18 + 19 + #[tokio::main] 20 + async fn main() { 21 + dotenvy::dotenv().ok(); 22 + env_logger::Builder::from_env(Env::default().default_filter_or("info")).init(); 23 + 24 + let bind_addr = env::var("BIND_ADDR").unwrap_or_else(|_| "127.0.0.1:3000".to_string()); 25 + 26 + let app = Router::new() 27 + .route("/.well-known/did.json", get(did_document)) 28 + .merge(GetProfileRequest::into_router(get_profile)) 29 + .fallback(log_request) 30 + .layer(CorsLayer::permissive()); 31 + 32 + let listener = TcpListener::bind(&bind_addr) 33 + .await 34 + .expect("failed to bind listener"); 35 + info!("listening on https://{bind_addr}"); 36 + 37 + axum::serve(listener, app).await.expect("server error"); 38 + } 39 + 40 + async fn log_request(req: Request) -> (StatusCode, Json<Value>) { 41 + let (parts, body) = req.into_parts(); 42 + let method = parts.method.clone(); 43 + let path = parts.uri.path().to_string(); 44 + 45 + info!("{method} {path}"); 46 + 47 + // for (name, value) in parts.headers.iter() { 48 + // let display = value.to_str().unwrap_or("<non-utf8>"); 49 + // info!(" header {name}: {display}"); 50 + // } 51 + 52 + if method == Method::GET { 53 + match parts.uri.query() { 54 + Some(q) => info!(" query: {q}"), 55 + None => info!(" query: <none>"), 56 + } 57 + return (StatusCode::OK, Json(json!({}))); 58 + } 59 + 60 + let bytes = match body::to_bytes(body, usize::MAX).await { 61 + Ok(b) => b, 62 + Err(e) => { 63 + info!(" body: <failed to read: {e}>"); 64 + return (StatusCode::OK, Json(json!({}))); 65 + } 66 + }; 67 + 68 + if bytes.is_empty() { 69 + info!(" body: <empty>"); 70 + } else { 71 + match serde_json::from_slice::<Value>(&bytes) { 72 + Ok(value) => { 73 + let pretty = 74 + serde_json::to_string_pretty(&value).unwrap_or_else(|_| value.to_string()); 75 + info!(" body (json):\n{pretty}"); 76 + } 77 + Err(_) => { 78 + info!(" body: <non-json, {} bytes>", bytes.len()); 79 + } 80 + } 81 + } 82 + 83 + (StatusCode::OK, Json(json!({}))) 84 + }