├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md └── src └── main.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /run.sh -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aes" 22 | version = "0.8.4" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" 25 | dependencies = [ 26 | "cfg-if", 27 | "cipher", 28 | "cpufeatures", 29 | ] 30 | 31 | [[package]] 32 | name = "aho-corasick" 33 | version = "1.1.3" 34 | source = "registry+https://github.com/rust-lang/crates.io-index" 35 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 36 | dependencies = [ 37 | "memchr", 38 | ] 39 | 40 | [[package]] 41 | name = "alsa" 42 | version = "0.9.0" 43 | source = "registry+https://github.com/rust-lang/crates.io-index" 44 | checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" 45 | dependencies = [ 46 | "alsa-sys", 47 | "bitflags 2.5.0", 48 | "libc", 49 | ] 50 | 51 | [[package]] 52 | name = "alsa-sys" 53 | version = "0.3.1" 54 | source = "registry+https://github.com/rust-lang/crates.io-index" 55 | checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" 56 | dependencies = [ 57 | "libc", 58 | "pkg-config", 59 | ] 60 | 61 | [[package]] 62 | name = "android-tzdata" 63 | version = "0.1.1" 64 | source = "registry+https://github.com/rust-lang/crates.io-index" 65 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 66 | 67 | [[package]] 68 | name = "android_system_properties" 69 | version = "0.1.5" 70 | source = "registry+https://github.com/rust-lang/crates.io-index" 71 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 72 | dependencies = [ 73 | "libc", 74 | ] 75 | 76 | [[package]] 77 | name = "anstream" 78 | version = "0.6.14" 79 | source = "registry+https://github.com/rust-lang/crates.io-index" 80 | checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" 81 | dependencies = [ 82 | "anstyle", 83 | "anstyle-parse", 84 | "anstyle-query", 85 | "anstyle-wincon", 86 | "colorchoice", 87 | "is_terminal_polyfill", 88 | "utf8parse", 89 | ] 90 | 91 | [[package]] 92 | name = "anstyle" 93 | version = "1.0.7" 94 | source = "registry+https://github.com/rust-lang/crates.io-index" 95 | checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" 96 | 97 | [[package]] 98 | name = "anstyle-parse" 99 | version = "0.2.4" 100 | source = "registry+https://github.com/rust-lang/crates.io-index" 101 | checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" 102 | dependencies = [ 103 | "utf8parse", 104 | ] 105 | 106 | [[package]] 107 | name = "anstyle-query" 108 | version = "1.0.3" 109 | source = "registry+https://github.com/rust-lang/crates.io-index" 110 | checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" 111 | dependencies = [ 112 | "windows-sys 0.52.0", 113 | ] 114 | 115 | [[package]] 116 | name = "anstyle-wincon" 117 | version = "3.0.3" 118 | source = "registry+https://github.com/rust-lang/crates.io-index" 119 | checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" 120 | dependencies = [ 121 | "anstyle", 122 | "windows-sys 0.52.0", 123 | ] 124 | 125 | [[package]] 126 | name = "anyhow" 127 | version = "1.0.83" 128 | source = "registry+https://github.com/rust-lang/crates.io-index" 129 | checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" 130 | 131 | [[package]] 132 | name = "arrayvec" 133 | version = "0.7.4" 134 | source = "registry+https://github.com/rust-lang/crates.io-index" 135 | checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" 136 | dependencies = [ 137 | "serde", 138 | ] 139 | 140 | [[package]] 141 | name = "async-trait" 142 | version = "0.1.80" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" 145 | dependencies = [ 146 | "proc-macro2", 147 | "quote", 148 | "syn 2.0.63", 149 | ] 150 | 151 | [[package]] 152 | name = "autocfg" 153 | version = "1.3.0" 154 | source = "registry+https://github.com/rust-lang/crates.io-index" 155 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 156 | 157 | [[package]] 158 | name = "backtrace" 159 | version = "0.3.71" 160 | source = "registry+https://github.com/rust-lang/crates.io-index" 161 | checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" 162 | dependencies = [ 163 | "addr2line", 164 | "cc", 165 | "cfg-if", 166 | "libc", 167 | "miniz_oxide", 168 | "object", 169 | "rustc-demangle", 170 | ] 171 | 172 | [[package]] 173 | name = "base64" 174 | version = "0.13.1" 175 | source = "registry+https://github.com/rust-lang/crates.io-index" 176 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 177 | 178 | [[package]] 179 | name = "base64" 180 | version = "0.21.7" 181 | source = "registry+https://github.com/rust-lang/crates.io-index" 182 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 183 | 184 | [[package]] 185 | name = "base64" 186 | version = "0.22.1" 187 | source = "registry+https://github.com/rust-lang/crates.io-index" 188 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 189 | 190 | [[package]] 191 | name = "base64ct" 192 | version = "1.6.0" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" 195 | 196 | [[package]] 197 | name = "bindgen" 198 | version = "0.69.4" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" 201 | dependencies = [ 202 | "bitflags 2.5.0", 203 | "cexpr", 204 | "clang-sys", 205 | "itertools", 206 | "lazy_static", 207 | "lazycell", 208 | "proc-macro2", 209 | "quote", 210 | "regex", 211 | "rustc-hash", 212 | "shlex", 213 | "syn 2.0.63", 214 | ] 215 | 216 | [[package]] 217 | name = "bitflags" 218 | version = "1.3.2" 219 | source = "registry+https://github.com/rust-lang/crates.io-index" 220 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 221 | 222 | [[package]] 223 | name = "bitflags" 224 | version = "2.5.0" 225 | source = "registry+https://github.com/rust-lang/crates.io-index" 226 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 227 | 228 | [[package]] 229 | name = "block-buffer" 230 | version = "0.10.4" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 233 | dependencies = [ 234 | "generic-array", 235 | ] 236 | 237 | [[package]] 238 | name = "bumpalo" 239 | version = "3.16.0" 240 | source = "registry+https://github.com/rust-lang/crates.io-index" 241 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 242 | 243 | [[package]] 244 | name = "bytecount" 245 | version = "0.6.8" 246 | source = "registry+https://github.com/rust-lang/crates.io-index" 247 | checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" 248 | 249 | [[package]] 250 | name = "bytemuck" 251 | version = "1.16.0" 252 | source = "registry+https://github.com/rust-lang/crates.io-index" 253 | checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" 254 | 255 | [[package]] 256 | name = "byteorder" 257 | version = "1.5.0" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 260 | 261 | [[package]] 262 | name = "bytes" 263 | version = "1.6.0" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 266 | 267 | [[package]] 268 | name = "camino" 269 | version = "1.1.7" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" 272 | dependencies = [ 273 | "serde", 274 | ] 275 | 276 | [[package]] 277 | name = "cargo-platform" 278 | version = "0.1.8" 279 | source = "registry+https://github.com/rust-lang/crates.io-index" 280 | checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" 281 | dependencies = [ 282 | "serde", 283 | ] 284 | 285 | [[package]] 286 | name = "cargo_metadata" 287 | version = "0.14.2" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" 290 | dependencies = [ 291 | "camino", 292 | "cargo-platform", 293 | "semver", 294 | "serde", 295 | "serde_json", 296 | ] 297 | 298 | [[package]] 299 | name = "cc" 300 | version = "1.0.97" 301 | source = "registry+https://github.com/rust-lang/crates.io-index" 302 | checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" 303 | dependencies = [ 304 | "jobserver", 305 | "libc", 306 | "once_cell", 307 | ] 308 | 309 | [[package]] 310 | name = "cesu8" 311 | version = "1.1.0" 312 | source = "registry+https://github.com/rust-lang/crates.io-index" 313 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 314 | 315 | [[package]] 316 | name = "cexpr" 317 | version = "0.6.0" 318 | source = "registry+https://github.com/rust-lang/crates.io-index" 319 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 320 | dependencies = [ 321 | "nom", 322 | ] 323 | 324 | [[package]] 325 | name = "cfg-if" 326 | version = "1.0.0" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 329 | 330 | [[package]] 331 | name = "chrono" 332 | version = "0.4.38" 333 | source = "registry+https://github.com/rust-lang/crates.io-index" 334 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 335 | dependencies = [ 336 | "android-tzdata", 337 | "iana-time-zone", 338 | "num-traits", 339 | "serde", 340 | "windows-targets 0.52.5", 341 | ] 342 | 343 | [[package]] 344 | name = "cipher" 345 | version = "0.4.4" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" 348 | dependencies = [ 349 | "crypto-common", 350 | "inout", 351 | ] 352 | 353 | [[package]] 354 | name = "clang-sys" 355 | version = "1.7.0" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" 358 | dependencies = [ 359 | "glob", 360 | "libc", 361 | "libloading", 362 | ] 363 | 364 | [[package]] 365 | name = "colorchoice" 366 | version = "1.0.1" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" 369 | 370 | [[package]] 371 | name = "combine" 372 | version = "4.6.7" 373 | source = "registry+https://github.com/rust-lang/crates.io-index" 374 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 375 | dependencies = [ 376 | "bytes", 377 | "memchr", 378 | ] 379 | 380 | [[package]] 381 | name = "const-oid" 382 | version = "0.9.6" 383 | source = "registry+https://github.com/rust-lang/crates.io-index" 384 | checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 385 | 386 | [[package]] 387 | name = "core-foundation" 388 | version = "0.9.4" 389 | source = "registry+https://github.com/rust-lang/crates.io-index" 390 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 391 | dependencies = [ 392 | "core-foundation-sys", 393 | "libc", 394 | ] 395 | 396 | [[package]] 397 | name = "core-foundation-sys" 398 | version = "0.8.6" 399 | source = "registry+https://github.com/rust-lang/crates.io-index" 400 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 401 | 402 | [[package]] 403 | name = "coreaudio-rs" 404 | version = "0.11.3" 405 | source = "registry+https://github.com/rust-lang/crates.io-index" 406 | checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" 407 | dependencies = [ 408 | "bitflags 1.3.2", 409 | "core-foundation-sys", 410 | "coreaudio-sys", 411 | ] 412 | 413 | [[package]] 414 | name = "coreaudio-sys" 415 | version = "0.2.15" 416 | source = "registry+https://github.com/rust-lang/crates.io-index" 417 | checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" 418 | dependencies = [ 419 | "bindgen", 420 | ] 421 | 422 | [[package]] 423 | name = "cpal" 424 | version = "0.15.3" 425 | source = "registry+https://github.com/rust-lang/crates.io-index" 426 | checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" 427 | dependencies = [ 428 | "alsa", 429 | "core-foundation-sys", 430 | "coreaudio-rs", 431 | "dasp_sample", 432 | "jni", 433 | "js-sys", 434 | "libc", 435 | "mach2", 436 | "ndk", 437 | "ndk-context", 438 | "oboe", 439 | "wasm-bindgen", 440 | "wasm-bindgen-futures", 441 | "web-sys", 442 | "windows 0.54.0", 443 | ] 444 | 445 | [[package]] 446 | name = "cpufeatures" 447 | version = "0.2.12" 448 | source = "registry+https://github.com/rust-lang/crates.io-index" 449 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 450 | dependencies = [ 451 | "libc", 452 | ] 453 | 454 | [[package]] 455 | name = "crc32fast" 456 | version = "1.4.0" 457 | source = "registry+https://github.com/rust-lang/crates.io-index" 458 | checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" 459 | dependencies = [ 460 | "cfg-if", 461 | ] 462 | 463 | [[package]] 464 | name = "crossbeam-channel" 465 | version = "0.5.12" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" 468 | dependencies = [ 469 | "crossbeam-utils", 470 | ] 471 | 472 | [[package]] 473 | name = "crossbeam-utils" 474 | version = "0.8.19" 475 | source = "registry+https://github.com/rust-lang/crates.io-index" 476 | checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" 477 | 478 | [[package]] 479 | name = "crypto-common" 480 | version = "0.1.6" 481 | source = "registry+https://github.com/rust-lang/crates.io-index" 482 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 483 | dependencies = [ 484 | "generic-array", 485 | "typenum", 486 | ] 487 | 488 | [[package]] 489 | name = "ct-logs" 490 | version = "0.8.0" 491 | source = "registry+https://github.com/rust-lang/crates.io-index" 492 | checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" 493 | dependencies = [ 494 | "sct 0.6.1", 495 | ] 496 | 497 | [[package]] 498 | name = "ctr" 499 | version = "0.9.2" 500 | source = "registry+https://github.com/rust-lang/crates.io-index" 501 | checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" 502 | dependencies = [ 503 | "cipher", 504 | ] 505 | 506 | [[package]] 507 | name = "darling" 508 | version = "0.20.9" 509 | source = "registry+https://github.com/rust-lang/crates.io-index" 510 | checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" 511 | dependencies = [ 512 | "darling_core", 513 | "darling_macro", 514 | ] 515 | 516 | [[package]] 517 | name = "darling_core" 518 | version = "0.20.9" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" 521 | dependencies = [ 522 | "fnv", 523 | "ident_case", 524 | "proc-macro2", 525 | "quote", 526 | "strsim", 527 | "syn 2.0.63", 528 | ] 529 | 530 | [[package]] 531 | name = "darling_macro" 532 | version = "0.20.9" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" 535 | dependencies = [ 536 | "darling_core", 537 | "quote", 538 | "syn 2.0.63", 539 | ] 540 | 541 | [[package]] 542 | name = "dashmap" 543 | version = "5.5.3" 544 | source = "registry+https://github.com/rust-lang/crates.io-index" 545 | checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" 546 | dependencies = [ 547 | "cfg-if", 548 | "hashbrown 0.14.5", 549 | "lock_api", 550 | "once_cell", 551 | "parking_lot_core", 552 | "serde", 553 | ] 554 | 555 | [[package]] 556 | name = "dasp_sample" 557 | version = "0.11.0" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" 560 | 561 | [[package]] 562 | name = "data-encoding" 563 | version = "2.6.0" 564 | source = "registry+https://github.com/rust-lang/crates.io-index" 565 | checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" 566 | 567 | [[package]] 568 | name = "der" 569 | version = "0.7.9" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" 572 | dependencies = [ 573 | "const-oid", 574 | "pem-rfc7468", 575 | "zeroize", 576 | ] 577 | 578 | [[package]] 579 | name = "deranged" 580 | version = "0.3.11" 581 | source = "registry+https://github.com/rust-lang/crates.io-index" 582 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 583 | dependencies = [ 584 | "powerfmt", 585 | "serde", 586 | ] 587 | 588 | [[package]] 589 | name = "derivative" 590 | version = "2.2.0" 591 | source = "registry+https://github.com/rust-lang/crates.io-index" 592 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 593 | dependencies = [ 594 | "proc-macro2", 595 | "quote", 596 | "syn 1.0.109", 597 | ] 598 | 599 | [[package]] 600 | name = "digest" 601 | version = "0.10.7" 602 | source = "registry+https://github.com/rust-lang/crates.io-index" 603 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 604 | dependencies = [ 605 | "block-buffer", 606 | "const-oid", 607 | "crypto-common", 608 | "subtle", 609 | ] 610 | 611 | [[package]] 612 | name = "either" 613 | version = "1.11.0" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" 616 | 617 | [[package]] 618 | name = "encoding_rs" 619 | version = "0.8.34" 620 | source = "registry+https://github.com/rust-lang/crates.io-index" 621 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 622 | dependencies = [ 623 | "cfg-if", 624 | ] 625 | 626 | [[package]] 627 | name = "env_filter" 628 | version = "0.1.0" 629 | source = "registry+https://github.com/rust-lang/crates.io-index" 630 | checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" 631 | dependencies = [ 632 | "log", 633 | ] 634 | 635 | [[package]] 636 | name = "env_logger" 637 | version = "0.11.3" 638 | source = "registry+https://github.com/rust-lang/crates.io-index" 639 | checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" 640 | dependencies = [ 641 | "anstream", 642 | "anstyle", 643 | "env_filter", 644 | "humantime", 645 | "log", 646 | ] 647 | 648 | [[package]] 649 | name = "equivalent" 650 | version = "1.0.1" 651 | source = "registry+https://github.com/rust-lang/crates.io-index" 652 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 653 | 654 | [[package]] 655 | name = "errno" 656 | version = "0.3.9" 657 | source = "registry+https://github.com/rust-lang/crates.io-index" 658 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 659 | dependencies = [ 660 | "libc", 661 | "windows-sys 0.52.0", 662 | ] 663 | 664 | [[package]] 665 | name = "error-chain" 666 | version = "0.12.4" 667 | source = "registry+https://github.com/rust-lang/crates.io-index" 668 | checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" 669 | dependencies = [ 670 | "version_check", 671 | ] 672 | 673 | [[package]] 674 | name = "fastrand" 675 | version = "2.1.0" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 678 | 679 | [[package]] 680 | name = "fixedbitset" 681 | version = "0.4.2" 682 | source = "registry+https://github.com/rust-lang/crates.io-index" 683 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 684 | 685 | [[package]] 686 | name = "flate2" 687 | version = "1.0.30" 688 | source = "registry+https://github.com/rust-lang/crates.io-index" 689 | checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" 690 | dependencies = [ 691 | "crc32fast", 692 | "miniz_oxide", 693 | ] 694 | 695 | [[package]] 696 | name = "fnv" 697 | version = "1.0.7" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 700 | 701 | [[package]] 702 | name = "form_urlencoded" 703 | version = "1.2.1" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 706 | dependencies = [ 707 | "percent-encoding", 708 | ] 709 | 710 | [[package]] 711 | name = "futures" 712 | version = "0.3.30" 713 | source = "registry+https://github.com/rust-lang/crates.io-index" 714 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" 715 | dependencies = [ 716 | "futures-channel", 717 | "futures-core", 718 | "futures-executor", 719 | "futures-io", 720 | "futures-sink", 721 | "futures-task", 722 | "futures-util", 723 | ] 724 | 725 | [[package]] 726 | name = "futures-channel" 727 | version = "0.3.30" 728 | source = "registry+https://github.com/rust-lang/crates.io-index" 729 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 730 | dependencies = [ 731 | "futures-core", 732 | "futures-sink", 733 | ] 734 | 735 | [[package]] 736 | name = "futures-core" 737 | version = "0.3.30" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 740 | 741 | [[package]] 742 | name = "futures-executor" 743 | version = "0.3.30" 744 | source = "registry+https://github.com/rust-lang/crates.io-index" 745 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 746 | dependencies = [ 747 | "futures-core", 748 | "futures-task", 749 | "futures-util", 750 | ] 751 | 752 | [[package]] 753 | name = "futures-io" 754 | version = "0.3.30" 755 | source = "registry+https://github.com/rust-lang/crates.io-index" 756 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 757 | 758 | [[package]] 759 | name = "futures-macro" 760 | version = "0.3.30" 761 | source = "registry+https://github.com/rust-lang/crates.io-index" 762 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 763 | dependencies = [ 764 | "proc-macro2", 765 | "quote", 766 | "syn 2.0.63", 767 | ] 768 | 769 | [[package]] 770 | name = "futures-sink" 771 | version = "0.3.30" 772 | source = "registry+https://github.com/rust-lang/crates.io-index" 773 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 774 | 775 | [[package]] 776 | name = "futures-task" 777 | version = "0.3.30" 778 | source = "registry+https://github.com/rust-lang/crates.io-index" 779 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 780 | 781 | [[package]] 782 | name = "futures-timer" 783 | version = "3.0.3" 784 | source = "registry+https://github.com/rust-lang/crates.io-index" 785 | checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" 786 | 787 | [[package]] 788 | name = "futures-util" 789 | version = "0.3.30" 790 | source = "registry+https://github.com/rust-lang/crates.io-index" 791 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 792 | dependencies = [ 793 | "futures-channel", 794 | "futures-core", 795 | "futures-io", 796 | "futures-macro", 797 | "futures-sink", 798 | "futures-task", 799 | "memchr", 800 | "pin-project-lite", 801 | "pin-utils", 802 | "slab", 803 | ] 804 | 805 | [[package]] 806 | name = "fxhash" 807 | version = "0.2.1" 808 | source = "registry+https://github.com/rust-lang/crates.io-index" 809 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 810 | dependencies = [ 811 | "byteorder", 812 | ] 813 | 814 | [[package]] 815 | name = "generic-array" 816 | version = "0.14.7" 817 | source = "registry+https://github.com/rust-lang/crates.io-index" 818 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 819 | dependencies = [ 820 | "typenum", 821 | "version_check", 822 | ] 823 | 824 | [[package]] 825 | name = "getopts" 826 | version = "0.2.21" 827 | source = "registry+https://github.com/rust-lang/crates.io-index" 828 | checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" 829 | dependencies = [ 830 | "unicode-width", 831 | ] 832 | 833 | [[package]] 834 | name = "getrandom" 835 | version = "0.2.15" 836 | source = "registry+https://github.com/rust-lang/crates.io-index" 837 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 838 | dependencies = [ 839 | "cfg-if", 840 | "libc", 841 | "wasi", 842 | ] 843 | 844 | [[package]] 845 | name = "gimli" 846 | version = "0.28.1" 847 | source = "registry+https://github.com/rust-lang/crates.io-index" 848 | checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 849 | 850 | [[package]] 851 | name = "glob" 852 | version = "0.3.1" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 855 | 856 | [[package]] 857 | name = "governor" 858 | version = "0.6.3" 859 | source = "registry+https://github.com/rust-lang/crates.io-index" 860 | checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" 861 | dependencies = [ 862 | "cfg-if", 863 | "futures", 864 | "futures-timer", 865 | "no-std-compat", 866 | "nonzero_ext", 867 | "parking_lot", 868 | "portable-atomic", 869 | "rand", 870 | "smallvec", 871 | "spinning_top", 872 | ] 873 | 874 | [[package]] 875 | name = "h2" 876 | version = "0.3.26" 877 | source = "registry+https://github.com/rust-lang/crates.io-index" 878 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 879 | dependencies = [ 880 | "bytes", 881 | "fnv", 882 | "futures-core", 883 | "futures-sink", 884 | "futures-util", 885 | "http 0.2.12", 886 | "indexmap 2.2.6", 887 | "slab", 888 | "tokio", 889 | "tokio-util", 890 | "tracing", 891 | ] 892 | 893 | [[package]] 894 | name = "hashbrown" 895 | version = "0.12.3" 896 | source = "registry+https://github.com/rust-lang/crates.io-index" 897 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 898 | 899 | [[package]] 900 | name = "hashbrown" 901 | version = "0.14.5" 902 | source = "registry+https://github.com/rust-lang/crates.io-index" 903 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 904 | 905 | [[package]] 906 | name = "headers" 907 | version = "0.3.9" 908 | source = "registry+https://github.com/rust-lang/crates.io-index" 909 | checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" 910 | dependencies = [ 911 | "base64 0.21.7", 912 | "bytes", 913 | "headers-core", 914 | "http 0.2.12", 915 | "httpdate", 916 | "mime", 917 | "sha1", 918 | ] 919 | 920 | [[package]] 921 | name = "headers-core" 922 | version = "0.2.0" 923 | source = "registry+https://github.com/rust-lang/crates.io-index" 924 | checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" 925 | dependencies = [ 926 | "http 0.2.12", 927 | ] 928 | 929 | [[package]] 930 | name = "hermit-abi" 931 | version = "0.3.9" 932 | source = "registry+https://github.com/rust-lang/crates.io-index" 933 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 934 | 935 | [[package]] 936 | name = "hmac" 937 | version = "0.12.1" 938 | source = "registry+https://github.com/rust-lang/crates.io-index" 939 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 940 | dependencies = [ 941 | "digest", 942 | ] 943 | 944 | [[package]] 945 | name = "home" 946 | version = "0.5.9" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" 949 | dependencies = [ 950 | "windows-sys 0.52.0", 951 | ] 952 | 953 | [[package]] 954 | name = "hostname" 955 | version = "0.3.1" 956 | source = "registry+https://github.com/rust-lang/crates.io-index" 957 | checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" 958 | dependencies = [ 959 | "libc", 960 | "match_cfg", 961 | "winapi", 962 | ] 963 | 964 | [[package]] 965 | name = "http" 966 | version = "0.2.12" 967 | source = "registry+https://github.com/rust-lang/crates.io-index" 968 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 969 | dependencies = [ 970 | "bytes", 971 | "fnv", 972 | "itoa", 973 | ] 974 | 975 | [[package]] 976 | name = "http" 977 | version = "1.1.0" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 980 | dependencies = [ 981 | "bytes", 982 | "fnv", 983 | "itoa", 984 | ] 985 | 986 | [[package]] 987 | name = "http-body" 988 | version = "0.4.6" 989 | source = "registry+https://github.com/rust-lang/crates.io-index" 990 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 991 | dependencies = [ 992 | "bytes", 993 | "http 0.2.12", 994 | "pin-project-lite", 995 | ] 996 | 997 | [[package]] 998 | name = "httparse" 999 | version = "1.8.0" 1000 | source = "registry+https://github.com/rust-lang/crates.io-index" 1001 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 1002 | 1003 | [[package]] 1004 | name = "httpdate" 1005 | version = "1.0.3" 1006 | source = "registry+https://github.com/rust-lang/crates.io-index" 1007 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 1008 | 1009 | [[package]] 1010 | name = "humantime" 1011 | version = "2.1.0" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 1014 | 1015 | [[package]] 1016 | name = "hyper" 1017 | version = "0.14.28" 1018 | source = "registry+https://github.com/rust-lang/crates.io-index" 1019 | checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 1020 | dependencies = [ 1021 | "bytes", 1022 | "futures-channel", 1023 | "futures-core", 1024 | "futures-util", 1025 | "h2", 1026 | "http 0.2.12", 1027 | "http-body", 1028 | "httparse", 1029 | "httpdate", 1030 | "itoa", 1031 | "pin-project-lite", 1032 | "socket2", 1033 | "tokio", 1034 | "tower-service", 1035 | "tracing", 1036 | "want", 1037 | ] 1038 | 1039 | [[package]] 1040 | name = "hyper-proxy" 1041 | version = "0.9.1" 1042 | source = "registry+https://github.com/rust-lang/crates.io-index" 1043 | checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc" 1044 | dependencies = [ 1045 | "bytes", 1046 | "futures", 1047 | "headers", 1048 | "http 0.2.12", 1049 | "hyper", 1050 | "hyper-rustls 0.22.1", 1051 | "rustls-native-certs 0.5.0", 1052 | "tokio", 1053 | "tokio-rustls 0.22.0", 1054 | "tower-service", 1055 | "webpki 0.21.4", 1056 | ] 1057 | 1058 | [[package]] 1059 | name = "hyper-rustls" 1060 | version = "0.22.1" 1061 | source = "registry+https://github.com/rust-lang/crates.io-index" 1062 | checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" 1063 | dependencies = [ 1064 | "ct-logs", 1065 | "futures-util", 1066 | "hyper", 1067 | "log", 1068 | "rustls 0.19.1", 1069 | "rustls-native-certs 0.5.0", 1070 | "tokio", 1071 | "tokio-rustls 0.22.0", 1072 | "webpki 0.21.4", 1073 | ] 1074 | 1075 | [[package]] 1076 | name = "hyper-rustls" 1077 | version = "0.24.2" 1078 | source = "registry+https://github.com/rust-lang/crates.io-index" 1079 | checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" 1080 | dependencies = [ 1081 | "futures-util", 1082 | "http 0.2.12", 1083 | "hyper", 1084 | "log", 1085 | "rustls 0.21.12", 1086 | "rustls-native-certs 0.6.3", 1087 | "tokio", 1088 | "tokio-rustls 0.24.1", 1089 | ] 1090 | 1091 | [[package]] 1092 | name = "iana-time-zone" 1093 | version = "0.1.60" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 1096 | dependencies = [ 1097 | "android_system_properties", 1098 | "core-foundation-sys", 1099 | "iana-time-zone-haiku", 1100 | "js-sys", 1101 | "wasm-bindgen", 1102 | "windows-core 0.52.0", 1103 | ] 1104 | 1105 | [[package]] 1106 | name = "iana-time-zone-haiku" 1107 | version = "0.1.2" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1110 | dependencies = [ 1111 | "cc", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "ident_case" 1116 | version = "1.0.1" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1119 | 1120 | [[package]] 1121 | name = "idna" 1122 | version = "0.5.0" 1123 | source = "registry+https://github.com/rust-lang/crates.io-index" 1124 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 1125 | dependencies = [ 1126 | "unicode-bidi", 1127 | "unicode-normalization", 1128 | ] 1129 | 1130 | [[package]] 1131 | name = "if-addrs" 1132 | version = "0.11.1" 1133 | source = "registry+https://github.com/rust-lang/crates.io-index" 1134 | checksum = "624c5448ba529e74f594c65b7024f31b2de7b64a9b228b8df26796bbb6e32c36" 1135 | dependencies = [ 1136 | "libc", 1137 | "windows-sys 0.52.0", 1138 | ] 1139 | 1140 | [[package]] 1141 | name = "indexmap" 1142 | version = "1.9.3" 1143 | source = "registry+https://github.com/rust-lang/crates.io-index" 1144 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1145 | dependencies = [ 1146 | "autocfg", 1147 | "hashbrown 0.12.3", 1148 | ] 1149 | 1150 | [[package]] 1151 | name = "indexmap" 1152 | version = "2.2.6" 1153 | source = "registry+https://github.com/rust-lang/crates.io-index" 1154 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 1155 | dependencies = [ 1156 | "equivalent", 1157 | "hashbrown 0.14.5", 1158 | ] 1159 | 1160 | [[package]] 1161 | name = "inout" 1162 | version = "0.1.3" 1163 | source = "registry+https://github.com/rust-lang/crates.io-index" 1164 | checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" 1165 | dependencies = [ 1166 | "generic-array", 1167 | ] 1168 | 1169 | [[package]] 1170 | name = "ipnet" 1171 | version = "2.9.0" 1172 | source = "registry+https://github.com/rust-lang/crates.io-index" 1173 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 1174 | 1175 | [[package]] 1176 | name = "is_terminal_polyfill" 1177 | version = "1.70.0" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" 1180 | 1181 | [[package]] 1182 | name = "itertools" 1183 | version = "0.12.1" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 1186 | dependencies = [ 1187 | "either", 1188 | ] 1189 | 1190 | [[package]] 1191 | name = "itoa" 1192 | version = "1.0.11" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1195 | 1196 | [[package]] 1197 | name = "jni" 1198 | version = "0.21.1" 1199 | source = "registry+https://github.com/rust-lang/crates.io-index" 1200 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 1201 | dependencies = [ 1202 | "cesu8", 1203 | "cfg-if", 1204 | "combine", 1205 | "jni-sys", 1206 | "log", 1207 | "thiserror", 1208 | "walkdir", 1209 | "windows-sys 0.45.0", 1210 | ] 1211 | 1212 | [[package]] 1213 | name = "jni-sys" 1214 | version = "0.3.0" 1215 | source = "registry+https://github.com/rust-lang/crates.io-index" 1216 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1217 | 1218 | [[package]] 1219 | name = "jobserver" 1220 | version = "0.1.31" 1221 | source = "registry+https://github.com/rust-lang/crates.io-index" 1222 | checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" 1223 | dependencies = [ 1224 | "libc", 1225 | ] 1226 | 1227 | [[package]] 1228 | name = "js-sys" 1229 | version = "0.3.69" 1230 | source = "registry+https://github.com/rust-lang/crates.io-index" 1231 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 1232 | dependencies = [ 1233 | "wasm-bindgen", 1234 | ] 1235 | 1236 | [[package]] 1237 | name = "lazy_static" 1238 | version = "1.4.0" 1239 | source = "registry+https://github.com/rust-lang/crates.io-index" 1240 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1241 | dependencies = [ 1242 | "spin 0.5.2", 1243 | ] 1244 | 1245 | [[package]] 1246 | name = "lazycell" 1247 | version = "1.3.0" 1248 | source = "registry+https://github.com/rust-lang/crates.io-index" 1249 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" 1250 | 1251 | [[package]] 1252 | name = "libc" 1253 | version = "0.2.154" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" 1256 | 1257 | [[package]] 1258 | name = "libloading" 1259 | version = "0.8.3" 1260 | source = "registry+https://github.com/rust-lang/crates.io-index" 1261 | checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" 1262 | dependencies = [ 1263 | "cfg-if", 1264 | "windows-targets 0.52.5", 1265 | ] 1266 | 1267 | [[package]] 1268 | name = "libm" 1269 | version = "0.2.8" 1270 | source = "registry+https://github.com/rust-lang/crates.io-index" 1271 | checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" 1272 | 1273 | [[package]] 1274 | name = "libmdns" 1275 | version = "0.8.0" 1276 | source = "registry+https://github.com/rust-lang/crates.io-index" 1277 | checksum = "8ed6677a7ef3e8d47432fc827d0ebf0ee77c3e3bc4a3e632d9b92433ef86f70c" 1278 | dependencies = [ 1279 | "byteorder", 1280 | "futures-util", 1281 | "hostname", 1282 | "if-addrs", 1283 | "log", 1284 | "multimap", 1285 | "nix", 1286 | "rand", 1287 | "socket2", 1288 | "thiserror", 1289 | "tokio", 1290 | "winapi", 1291 | ] 1292 | 1293 | [[package]] 1294 | name = "librespot" 1295 | version = "0.5.0-dev" 1296 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1297 | dependencies = [ 1298 | "data-encoding", 1299 | "env_logger", 1300 | "futures-util", 1301 | "getopts", 1302 | "librespot-audio", 1303 | "librespot-connect", 1304 | "librespot-core", 1305 | "librespot-discovery", 1306 | "librespot-metadata", 1307 | "librespot-playback", 1308 | "librespot-protocol", 1309 | "log", 1310 | "rpassword", 1311 | "sha1", 1312 | "sysinfo", 1313 | "thiserror", 1314 | "tokio", 1315 | "url", 1316 | "webpki 0.22.4", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "librespot-audio" 1321 | version = "0.5.0-dev" 1322 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1323 | dependencies = [ 1324 | "aes", 1325 | "byteorder", 1326 | "bytes", 1327 | "ctr", 1328 | "futures-core", 1329 | "futures-util", 1330 | "hyper", 1331 | "librespot-core", 1332 | "log", 1333 | "parking_lot", 1334 | "tempfile", 1335 | "thiserror", 1336 | "tokio", 1337 | ] 1338 | 1339 | [[package]] 1340 | name = "librespot-connect" 1341 | version = "0.5.0-dev" 1342 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1343 | dependencies = [ 1344 | "form_urlencoded", 1345 | "futures-util", 1346 | "librespot-core", 1347 | "librespot-playback", 1348 | "librespot-protocol", 1349 | "log", 1350 | "protobuf", 1351 | "rand", 1352 | "serde", 1353 | "serde_json", 1354 | "thiserror", 1355 | "tokio", 1356 | "tokio-stream", 1357 | ] 1358 | 1359 | [[package]] 1360 | name = "librespot-core" 1361 | version = "0.5.0-dev" 1362 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1363 | dependencies = [ 1364 | "aes", 1365 | "base64 0.21.7", 1366 | "byteorder", 1367 | "bytes", 1368 | "data-encoding", 1369 | "form_urlencoded", 1370 | "futures-core", 1371 | "futures-util", 1372 | "governor", 1373 | "hmac", 1374 | "http 0.2.12", 1375 | "httparse", 1376 | "hyper", 1377 | "hyper-proxy", 1378 | "hyper-rustls 0.24.2", 1379 | "librespot-protocol", 1380 | "log", 1381 | "nonzero_ext", 1382 | "num-bigint", 1383 | "num-derive", 1384 | "num-integer", 1385 | "num-traits", 1386 | "once_cell", 1387 | "parking_lot", 1388 | "pbkdf2", 1389 | "priority-queue", 1390 | "protobuf", 1391 | "quick-xml", 1392 | "rand", 1393 | "rsa", 1394 | "serde", 1395 | "serde_json", 1396 | "sha1", 1397 | "shannon", 1398 | "sysinfo", 1399 | "thiserror", 1400 | "time", 1401 | "tokio", 1402 | "tokio-stream", 1403 | "tokio-tungstenite", 1404 | "tokio-util", 1405 | "url", 1406 | "uuid", 1407 | "vergen", 1408 | ] 1409 | 1410 | [[package]] 1411 | name = "librespot-discovery" 1412 | version = "0.5.0-dev" 1413 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1414 | dependencies = [ 1415 | "aes", 1416 | "base64 0.21.7", 1417 | "cfg-if", 1418 | "ctr", 1419 | "form_urlencoded", 1420 | "futures-core", 1421 | "futures-util", 1422 | "hmac", 1423 | "hyper", 1424 | "libmdns", 1425 | "librespot-core", 1426 | "log", 1427 | "rand", 1428 | "serde_json", 1429 | "sha1", 1430 | "thiserror", 1431 | "tokio", 1432 | ] 1433 | 1434 | [[package]] 1435 | name = "librespot-metadata" 1436 | version = "0.5.0-dev" 1437 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1438 | dependencies = [ 1439 | "async-trait", 1440 | "byteorder", 1441 | "bytes", 1442 | "librespot-core", 1443 | "librespot-protocol", 1444 | "log", 1445 | "protobuf", 1446 | "serde", 1447 | "serde_json", 1448 | "thiserror", 1449 | "uuid", 1450 | ] 1451 | 1452 | [[package]] 1453 | name = "librespot-playback" 1454 | version = "0.5.0-dev" 1455 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1456 | dependencies = [ 1457 | "byteorder", 1458 | "cpal", 1459 | "futures-util", 1460 | "librespot-audio", 1461 | "librespot-core", 1462 | "librespot-metadata", 1463 | "log", 1464 | "parking_lot", 1465 | "rand", 1466 | "rand_distr", 1467 | "rodio", 1468 | "shell-words", 1469 | "symphonia", 1470 | "thiserror", 1471 | "tokio", 1472 | "zerocopy", 1473 | ] 1474 | 1475 | [[package]] 1476 | name = "librespot-protocol" 1477 | version = "0.5.0-dev" 1478 | source = "git+https://github.com/spotlightishere/librespot.git?branch=dev#3b209151888d03e4d660087898a14a58897e1b71" 1479 | dependencies = [ 1480 | "protobuf", 1481 | "protobuf-codegen", 1482 | ] 1483 | 1484 | [[package]] 1485 | name = "linux-raw-sys" 1486 | version = "0.4.13" 1487 | source = "registry+https://github.com/rust-lang/crates.io-index" 1488 | checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" 1489 | 1490 | [[package]] 1491 | name = "lock_api" 1492 | version = "0.4.12" 1493 | source = "registry+https://github.com/rust-lang/crates.io-index" 1494 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1495 | dependencies = [ 1496 | "autocfg", 1497 | "scopeguard", 1498 | ] 1499 | 1500 | [[package]] 1501 | name = "log" 1502 | version = "0.4.21" 1503 | source = "registry+https://github.com/rust-lang/crates.io-index" 1504 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 1505 | 1506 | [[package]] 1507 | name = "mach2" 1508 | version = "0.4.2" 1509 | source = "registry+https://github.com/rust-lang/crates.io-index" 1510 | checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" 1511 | dependencies = [ 1512 | "libc", 1513 | ] 1514 | 1515 | [[package]] 1516 | name = "match_cfg" 1517 | version = "0.1.0" 1518 | source = "registry+https://github.com/rust-lang/crates.io-index" 1519 | checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" 1520 | 1521 | [[package]] 1522 | name = "memchr" 1523 | version = "2.7.2" 1524 | source = "registry+https://github.com/rust-lang/crates.io-index" 1525 | checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 1526 | 1527 | [[package]] 1528 | name = "memoffset" 1529 | version = "0.9.1" 1530 | source = "registry+https://github.com/rust-lang/crates.io-index" 1531 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1532 | dependencies = [ 1533 | "autocfg", 1534 | ] 1535 | 1536 | [[package]] 1537 | name = "mime" 1538 | version = "0.3.17" 1539 | source = "registry+https://github.com/rust-lang/crates.io-index" 1540 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1541 | 1542 | [[package]] 1543 | name = "mime_guess" 1544 | version = "2.0.4" 1545 | source = "registry+https://github.com/rust-lang/crates.io-index" 1546 | checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" 1547 | dependencies = [ 1548 | "mime", 1549 | "unicase", 1550 | ] 1551 | 1552 | [[package]] 1553 | name = "mini-moka" 1554 | version = "0.10.3" 1555 | source = "registry+https://github.com/rust-lang/crates.io-index" 1556 | checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" 1557 | dependencies = [ 1558 | "crossbeam-channel", 1559 | "crossbeam-utils", 1560 | "dashmap", 1561 | "skeptic", 1562 | "smallvec", 1563 | "tagptr", 1564 | "triomphe", 1565 | ] 1566 | 1567 | [[package]] 1568 | name = "minimal-lexical" 1569 | version = "0.2.1" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1572 | 1573 | [[package]] 1574 | name = "miniz_oxide" 1575 | version = "0.7.2" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 1578 | dependencies = [ 1579 | "adler", 1580 | ] 1581 | 1582 | [[package]] 1583 | name = "mio" 1584 | version = "0.8.11" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1587 | dependencies = [ 1588 | "libc", 1589 | "wasi", 1590 | "windows-sys 0.48.0", 1591 | ] 1592 | 1593 | [[package]] 1594 | name = "multimap" 1595 | version = "0.9.1" 1596 | source = "registry+https://github.com/rust-lang/crates.io-index" 1597 | checksum = "e1a5d38b9b352dbd913288736af36af41c48d61b1a8cd34bcecd727561b7d511" 1598 | dependencies = [ 1599 | "serde", 1600 | ] 1601 | 1602 | [[package]] 1603 | name = "ndk" 1604 | version = "0.8.0" 1605 | source = "registry+https://github.com/rust-lang/crates.io-index" 1606 | checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" 1607 | dependencies = [ 1608 | "bitflags 2.5.0", 1609 | "jni-sys", 1610 | "log", 1611 | "ndk-sys", 1612 | "num_enum", 1613 | "thiserror", 1614 | ] 1615 | 1616 | [[package]] 1617 | name = "ndk-context" 1618 | version = "0.1.1" 1619 | source = "registry+https://github.com/rust-lang/crates.io-index" 1620 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1621 | 1622 | [[package]] 1623 | name = "ndk-sys" 1624 | version = "0.5.0+25.2.9519653" 1625 | source = "registry+https://github.com/rust-lang/crates.io-index" 1626 | checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" 1627 | dependencies = [ 1628 | "jni-sys", 1629 | ] 1630 | 1631 | [[package]] 1632 | name = "nix" 1633 | version = "0.27.1" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" 1636 | dependencies = [ 1637 | "bitflags 2.5.0", 1638 | "cfg-if", 1639 | "libc", 1640 | "memoffset", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "no-std-compat" 1645 | version = "0.4.1" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" 1648 | 1649 | [[package]] 1650 | name = "nom" 1651 | version = "7.1.3" 1652 | source = "registry+https://github.com/rust-lang/crates.io-index" 1653 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1654 | dependencies = [ 1655 | "memchr", 1656 | "minimal-lexical", 1657 | ] 1658 | 1659 | [[package]] 1660 | name = "nonzero_ext" 1661 | version = "0.3.0" 1662 | source = "registry+https://github.com/rust-lang/crates.io-index" 1663 | checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" 1664 | 1665 | [[package]] 1666 | name = "ntapi" 1667 | version = "0.4.1" 1668 | source = "registry+https://github.com/rust-lang/crates.io-index" 1669 | checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" 1670 | dependencies = [ 1671 | "winapi", 1672 | ] 1673 | 1674 | [[package]] 1675 | name = "num-bigint" 1676 | version = "0.4.5" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" 1679 | dependencies = [ 1680 | "num-integer", 1681 | "num-traits", 1682 | "rand", 1683 | ] 1684 | 1685 | [[package]] 1686 | name = "num-bigint-dig" 1687 | version = "0.8.4" 1688 | source = "registry+https://github.com/rust-lang/crates.io-index" 1689 | checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" 1690 | dependencies = [ 1691 | "byteorder", 1692 | "lazy_static", 1693 | "libm", 1694 | "num-integer", 1695 | "num-iter", 1696 | "num-traits", 1697 | "rand", 1698 | "smallvec", 1699 | "zeroize", 1700 | ] 1701 | 1702 | [[package]] 1703 | name = "num-conv" 1704 | version = "0.1.0" 1705 | source = "registry+https://github.com/rust-lang/crates.io-index" 1706 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1707 | 1708 | [[package]] 1709 | name = "num-derive" 1710 | version = "0.4.2" 1711 | source = "registry+https://github.com/rust-lang/crates.io-index" 1712 | checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 1713 | dependencies = [ 1714 | "proc-macro2", 1715 | "quote", 1716 | "syn 2.0.63", 1717 | ] 1718 | 1719 | [[package]] 1720 | name = "num-integer" 1721 | version = "0.1.46" 1722 | source = "registry+https://github.com/rust-lang/crates.io-index" 1723 | checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 1724 | dependencies = [ 1725 | "num-traits", 1726 | ] 1727 | 1728 | [[package]] 1729 | name = "num-iter" 1730 | version = "0.1.45" 1731 | source = "registry+https://github.com/rust-lang/crates.io-index" 1732 | checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 1733 | dependencies = [ 1734 | "autocfg", 1735 | "num-integer", 1736 | "num-traits", 1737 | ] 1738 | 1739 | [[package]] 1740 | name = "num-traits" 1741 | version = "0.2.19" 1742 | source = "registry+https://github.com/rust-lang/crates.io-index" 1743 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1744 | dependencies = [ 1745 | "autocfg", 1746 | "libm", 1747 | ] 1748 | 1749 | [[package]] 1750 | name = "num_cpus" 1751 | version = "1.16.0" 1752 | source = "registry+https://github.com/rust-lang/crates.io-index" 1753 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1754 | dependencies = [ 1755 | "hermit-abi", 1756 | "libc", 1757 | ] 1758 | 1759 | [[package]] 1760 | name = "num_enum" 1761 | version = "0.7.2" 1762 | source = "registry+https://github.com/rust-lang/crates.io-index" 1763 | checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" 1764 | dependencies = [ 1765 | "num_enum_derive", 1766 | ] 1767 | 1768 | [[package]] 1769 | name = "num_enum_derive" 1770 | version = "0.7.2" 1771 | source = "registry+https://github.com/rust-lang/crates.io-index" 1772 | checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" 1773 | dependencies = [ 1774 | "proc-macro-crate", 1775 | "proc-macro2", 1776 | "quote", 1777 | "syn 2.0.63", 1778 | ] 1779 | 1780 | [[package]] 1781 | name = "num_threads" 1782 | version = "0.1.7" 1783 | source = "registry+https://github.com/rust-lang/crates.io-index" 1784 | checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 1785 | dependencies = [ 1786 | "libc", 1787 | ] 1788 | 1789 | [[package]] 1790 | name = "object" 1791 | version = "0.32.2" 1792 | source = "registry+https://github.com/rust-lang/crates.io-index" 1793 | checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 1794 | dependencies = [ 1795 | "memchr", 1796 | ] 1797 | 1798 | [[package]] 1799 | name = "oboe" 1800 | version = "0.6.1" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" 1803 | dependencies = [ 1804 | "jni", 1805 | "ndk", 1806 | "ndk-context", 1807 | "num-derive", 1808 | "num-traits", 1809 | "oboe-sys", 1810 | ] 1811 | 1812 | [[package]] 1813 | name = "oboe-sys" 1814 | version = "0.6.1" 1815 | source = "registry+https://github.com/rust-lang/crates.io-index" 1816 | checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" 1817 | dependencies = [ 1818 | "cc", 1819 | ] 1820 | 1821 | [[package]] 1822 | name = "once_cell" 1823 | version = "1.19.0" 1824 | source = "registry+https://github.com/rust-lang/crates.io-index" 1825 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 1826 | 1827 | [[package]] 1828 | name = "openssl-probe" 1829 | version = "0.1.5" 1830 | source = "registry+https://github.com/rust-lang/crates.io-index" 1831 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1832 | 1833 | [[package]] 1834 | name = "parking_lot" 1835 | version = "0.12.2" 1836 | source = "registry+https://github.com/rust-lang/crates.io-index" 1837 | checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" 1838 | dependencies = [ 1839 | "lock_api", 1840 | "parking_lot_core", 1841 | ] 1842 | 1843 | [[package]] 1844 | name = "parking_lot_core" 1845 | version = "0.9.10" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1848 | dependencies = [ 1849 | "backtrace", 1850 | "cfg-if", 1851 | "libc", 1852 | "petgraph", 1853 | "redox_syscall", 1854 | "smallvec", 1855 | "thread-id", 1856 | "windows-targets 0.52.5", 1857 | ] 1858 | 1859 | [[package]] 1860 | name = "pbkdf2" 1861 | version = "0.12.2" 1862 | source = "registry+https://github.com/rust-lang/crates.io-index" 1863 | checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" 1864 | dependencies = [ 1865 | "digest", 1866 | "hmac", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "pem-rfc7468" 1871 | version = "0.7.0" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 1874 | dependencies = [ 1875 | "base64ct", 1876 | ] 1877 | 1878 | [[package]] 1879 | name = "percent-encoding" 1880 | version = "2.3.1" 1881 | source = "registry+https://github.com/rust-lang/crates.io-index" 1882 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1883 | 1884 | [[package]] 1885 | name = "petgraph" 1886 | version = "0.6.5" 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" 1888 | checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" 1889 | dependencies = [ 1890 | "fixedbitset", 1891 | "indexmap 2.2.6", 1892 | ] 1893 | 1894 | [[package]] 1895 | name = "pin-project-lite" 1896 | version = "0.2.14" 1897 | source = "registry+https://github.com/rust-lang/crates.io-index" 1898 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1899 | 1900 | [[package]] 1901 | name = "pin-utils" 1902 | version = "0.1.0" 1903 | source = "registry+https://github.com/rust-lang/crates.io-index" 1904 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1905 | 1906 | [[package]] 1907 | name = "pkcs1" 1908 | version = "0.7.5" 1909 | source = "registry+https://github.com/rust-lang/crates.io-index" 1910 | checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 1911 | dependencies = [ 1912 | "der", 1913 | "pkcs8", 1914 | "spki", 1915 | ] 1916 | 1917 | [[package]] 1918 | name = "pkcs8" 1919 | version = "0.10.2" 1920 | source = "registry+https://github.com/rust-lang/crates.io-index" 1921 | checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 1922 | dependencies = [ 1923 | "der", 1924 | "spki", 1925 | ] 1926 | 1927 | [[package]] 1928 | name = "pkg-config" 1929 | version = "0.3.30" 1930 | source = "registry+https://github.com/rust-lang/crates.io-index" 1931 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 1932 | 1933 | [[package]] 1934 | name = "poise" 1935 | version = "0.6.1" 1936 | source = "registry+https://github.com/rust-lang/crates.io-index" 1937 | checksum = "1819d5a45e3590ef33754abce46432570c54a120798bdbf893112b4211fa09a6" 1938 | dependencies = [ 1939 | "async-trait", 1940 | "derivative", 1941 | "futures-util", 1942 | "parking_lot", 1943 | "poise_macros", 1944 | "regex", 1945 | "serenity", 1946 | "tokio", 1947 | "tracing", 1948 | ] 1949 | 1950 | [[package]] 1951 | name = "poise_macros" 1952 | version = "0.6.1" 1953 | source = "registry+https://github.com/rust-lang/crates.io-index" 1954 | checksum = "8fa2c123c961e78315cd3deac7663177f12be4460f5440dbf62a7ed37b1effea" 1955 | dependencies = [ 1956 | "darling", 1957 | "proc-macro2", 1958 | "quote", 1959 | "syn 2.0.63", 1960 | ] 1961 | 1962 | [[package]] 1963 | name = "portable-atomic" 1964 | version = "1.6.0" 1965 | source = "registry+https://github.com/rust-lang/crates.io-index" 1966 | checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" 1967 | 1968 | [[package]] 1969 | name = "powerfmt" 1970 | version = "0.2.0" 1971 | source = "registry+https://github.com/rust-lang/crates.io-index" 1972 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1973 | 1974 | [[package]] 1975 | name = "ppv-lite86" 1976 | version = "0.2.17" 1977 | source = "registry+https://github.com/rust-lang/crates.io-index" 1978 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1979 | 1980 | [[package]] 1981 | name = "priority-queue" 1982 | version = "1.4.0" 1983 | source = "registry+https://github.com/rust-lang/crates.io-index" 1984 | checksum = "a0bda9164fe05bc9225752d54aae413343c36f684380005398a6a8fde95fe785" 1985 | dependencies = [ 1986 | "autocfg", 1987 | "indexmap 1.9.3", 1988 | ] 1989 | 1990 | [[package]] 1991 | name = "proc-macro-crate" 1992 | version = "3.1.0" 1993 | source = "registry+https://github.com/rust-lang/crates.io-index" 1994 | checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" 1995 | dependencies = [ 1996 | "toml_edit", 1997 | ] 1998 | 1999 | [[package]] 2000 | name = "proc-macro2" 2001 | version = "1.0.82" 2002 | source = "registry+https://github.com/rust-lang/crates.io-index" 2003 | checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" 2004 | dependencies = [ 2005 | "unicode-ident", 2006 | ] 2007 | 2008 | [[package]] 2009 | name = "protobuf" 2010 | version = "3.4.0" 2011 | source = "registry+https://github.com/rust-lang/crates.io-index" 2012 | checksum = "58678a64de2fced2bdec6bca052a6716a0efe692d6e3f53d1bda6a1def64cfc0" 2013 | dependencies = [ 2014 | "once_cell", 2015 | "protobuf-support", 2016 | "thiserror", 2017 | ] 2018 | 2019 | [[package]] 2020 | name = "protobuf-codegen" 2021 | version = "3.4.0" 2022 | source = "registry+https://github.com/rust-lang/crates.io-index" 2023 | checksum = "32777b0b3f6538d9d2e012b3fad85c7e4b9244b5958d04a6415f4333782b7a77" 2024 | dependencies = [ 2025 | "anyhow", 2026 | "once_cell", 2027 | "protobuf", 2028 | "protobuf-parse", 2029 | "regex", 2030 | "tempfile", 2031 | "thiserror", 2032 | ] 2033 | 2034 | [[package]] 2035 | name = "protobuf-parse" 2036 | version = "3.4.0" 2037 | source = "registry+https://github.com/rust-lang/crates.io-index" 2038 | checksum = "96cb37955261126624a25b5e6bda40ae34cf3989d52a783087ca6091b29b5642" 2039 | dependencies = [ 2040 | "anyhow", 2041 | "indexmap 1.9.3", 2042 | "log", 2043 | "protobuf", 2044 | "protobuf-support", 2045 | "tempfile", 2046 | "thiserror", 2047 | "which", 2048 | ] 2049 | 2050 | [[package]] 2051 | name = "protobuf-support" 2052 | version = "3.4.0" 2053 | source = "registry+https://github.com/rust-lang/crates.io-index" 2054 | checksum = "e1ed294a835b0f30810e13616b1cd34943c6d1e84a8f3b0dcfe466d256c3e7e7" 2055 | dependencies = [ 2056 | "thiserror", 2057 | ] 2058 | 2059 | [[package]] 2060 | name = "pulldown-cmark" 2061 | version = "0.9.6" 2062 | source = "registry+https://github.com/rust-lang/crates.io-index" 2063 | checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" 2064 | dependencies = [ 2065 | "bitflags 2.5.0", 2066 | "memchr", 2067 | "unicase", 2068 | ] 2069 | 2070 | [[package]] 2071 | name = "quick-xml" 2072 | version = "0.31.0" 2073 | source = "registry+https://github.com/rust-lang/crates.io-index" 2074 | checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" 2075 | dependencies = [ 2076 | "memchr", 2077 | "serde", 2078 | ] 2079 | 2080 | [[package]] 2081 | name = "quote" 2082 | version = "1.0.36" 2083 | source = "registry+https://github.com/rust-lang/crates.io-index" 2084 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 2085 | dependencies = [ 2086 | "proc-macro2", 2087 | ] 2088 | 2089 | [[package]] 2090 | name = "rand" 2091 | version = "0.8.5" 2092 | source = "registry+https://github.com/rust-lang/crates.io-index" 2093 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2094 | dependencies = [ 2095 | "libc", 2096 | "rand_chacha", 2097 | "rand_core", 2098 | ] 2099 | 2100 | [[package]] 2101 | name = "rand_chacha" 2102 | version = "0.3.1" 2103 | source = "registry+https://github.com/rust-lang/crates.io-index" 2104 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2105 | dependencies = [ 2106 | "ppv-lite86", 2107 | "rand_core", 2108 | ] 2109 | 2110 | [[package]] 2111 | name = "rand_core" 2112 | version = "0.6.4" 2113 | source = "registry+https://github.com/rust-lang/crates.io-index" 2114 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2115 | dependencies = [ 2116 | "getrandom", 2117 | ] 2118 | 2119 | [[package]] 2120 | name = "rand_distr" 2121 | version = "0.4.3" 2122 | source = "registry+https://github.com/rust-lang/crates.io-index" 2123 | checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" 2124 | dependencies = [ 2125 | "num-traits", 2126 | "rand", 2127 | ] 2128 | 2129 | [[package]] 2130 | name = "redox_syscall" 2131 | version = "0.5.1" 2132 | source = "registry+https://github.com/rust-lang/crates.io-index" 2133 | checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 2134 | dependencies = [ 2135 | "bitflags 2.5.0", 2136 | ] 2137 | 2138 | [[package]] 2139 | name = "regex" 2140 | version = "1.10.4" 2141 | source = "registry+https://github.com/rust-lang/crates.io-index" 2142 | checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" 2143 | dependencies = [ 2144 | "aho-corasick", 2145 | "memchr", 2146 | "regex-automata", 2147 | "regex-syntax", 2148 | ] 2149 | 2150 | [[package]] 2151 | name = "regex-automata" 2152 | version = "0.4.6" 2153 | source = "registry+https://github.com/rust-lang/crates.io-index" 2154 | checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" 2155 | dependencies = [ 2156 | "aho-corasick", 2157 | "memchr", 2158 | "regex-syntax", 2159 | ] 2160 | 2161 | [[package]] 2162 | name = "regex-syntax" 2163 | version = "0.8.3" 2164 | source = "registry+https://github.com/rust-lang/crates.io-index" 2165 | checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" 2166 | 2167 | [[package]] 2168 | name = "reqwest" 2169 | version = "0.11.27" 2170 | source = "registry+https://github.com/rust-lang/crates.io-index" 2171 | checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" 2172 | dependencies = [ 2173 | "base64 0.21.7", 2174 | "bytes", 2175 | "encoding_rs", 2176 | "futures-core", 2177 | "futures-util", 2178 | "h2", 2179 | "http 0.2.12", 2180 | "http-body", 2181 | "hyper", 2182 | "hyper-rustls 0.24.2", 2183 | "ipnet", 2184 | "js-sys", 2185 | "log", 2186 | "mime", 2187 | "mime_guess", 2188 | "once_cell", 2189 | "percent-encoding", 2190 | "pin-project-lite", 2191 | "rustls 0.21.12", 2192 | "rustls-pemfile 1.0.4", 2193 | "serde", 2194 | "serde_json", 2195 | "serde_urlencoded", 2196 | "sync_wrapper", 2197 | "system-configuration", 2198 | "tokio", 2199 | "tokio-rustls 0.24.1", 2200 | "tokio-util", 2201 | "tower-service", 2202 | "url", 2203 | "wasm-bindgen", 2204 | "wasm-bindgen-futures", 2205 | "wasm-streams", 2206 | "web-sys", 2207 | "webpki-roots 0.25.4", 2208 | "winreg", 2209 | ] 2210 | 2211 | [[package]] 2212 | name = "ring" 2213 | version = "0.16.20" 2214 | source = "registry+https://github.com/rust-lang/crates.io-index" 2215 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 2216 | dependencies = [ 2217 | "cc", 2218 | "libc", 2219 | "once_cell", 2220 | "spin 0.5.2", 2221 | "untrusted 0.7.1", 2222 | "web-sys", 2223 | "winapi", 2224 | ] 2225 | 2226 | [[package]] 2227 | name = "ring" 2228 | version = "0.17.8" 2229 | source = "registry+https://github.com/rust-lang/crates.io-index" 2230 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 2231 | dependencies = [ 2232 | "cc", 2233 | "cfg-if", 2234 | "getrandom", 2235 | "libc", 2236 | "spin 0.9.8", 2237 | "untrusted 0.9.0", 2238 | "windows-sys 0.52.0", 2239 | ] 2240 | 2241 | [[package]] 2242 | name = "rodio" 2243 | version = "0.17.3" 2244 | source = "registry+https://github.com/rust-lang/crates.io-index" 2245 | checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611" 2246 | dependencies = [ 2247 | "cpal", 2248 | ] 2249 | 2250 | [[package]] 2251 | name = "rpassword" 2252 | version = "7.3.1" 2253 | source = "registry+https://github.com/rust-lang/crates.io-index" 2254 | checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" 2255 | dependencies = [ 2256 | "libc", 2257 | "rtoolbox", 2258 | "windows-sys 0.48.0", 2259 | ] 2260 | 2261 | [[package]] 2262 | name = "rsa" 2263 | version = "0.9.6" 2264 | source = "registry+https://github.com/rust-lang/crates.io-index" 2265 | checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" 2266 | dependencies = [ 2267 | "const-oid", 2268 | "digest", 2269 | "num-bigint-dig", 2270 | "num-integer", 2271 | "num-traits", 2272 | "pkcs1", 2273 | "pkcs8", 2274 | "rand_core", 2275 | "signature", 2276 | "spki", 2277 | "subtle", 2278 | "zeroize", 2279 | ] 2280 | 2281 | [[package]] 2282 | name = "rtoolbox" 2283 | version = "0.0.2" 2284 | source = "registry+https://github.com/rust-lang/crates.io-index" 2285 | checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" 2286 | dependencies = [ 2287 | "libc", 2288 | "windows-sys 0.48.0", 2289 | ] 2290 | 2291 | [[package]] 2292 | name = "rustc-demangle" 2293 | version = "0.1.24" 2294 | source = "registry+https://github.com/rust-lang/crates.io-index" 2295 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 2296 | 2297 | [[package]] 2298 | name = "rustc-hash" 2299 | version = "1.1.0" 2300 | source = "registry+https://github.com/rust-lang/crates.io-index" 2301 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 2302 | 2303 | [[package]] 2304 | name = "rustix" 2305 | version = "0.38.34" 2306 | source = "registry+https://github.com/rust-lang/crates.io-index" 2307 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 2308 | dependencies = [ 2309 | "bitflags 2.5.0", 2310 | "errno", 2311 | "libc", 2312 | "linux-raw-sys", 2313 | "windows-sys 0.52.0", 2314 | ] 2315 | 2316 | [[package]] 2317 | name = "rustls" 2318 | version = "0.19.1" 2319 | source = "registry+https://github.com/rust-lang/crates.io-index" 2320 | checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" 2321 | dependencies = [ 2322 | "base64 0.13.1", 2323 | "log", 2324 | "ring 0.16.20", 2325 | "sct 0.6.1", 2326 | "webpki 0.21.4", 2327 | ] 2328 | 2329 | [[package]] 2330 | name = "rustls" 2331 | version = "0.21.12" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" 2334 | dependencies = [ 2335 | "log", 2336 | "ring 0.17.8", 2337 | "rustls-webpki 0.101.7", 2338 | "sct 0.7.1", 2339 | ] 2340 | 2341 | [[package]] 2342 | name = "rustls" 2343 | version = "0.22.4" 2344 | source = "registry+https://github.com/rust-lang/crates.io-index" 2345 | checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" 2346 | dependencies = [ 2347 | "log", 2348 | "ring 0.17.8", 2349 | "rustls-pki-types", 2350 | "rustls-webpki 0.102.3", 2351 | "subtle", 2352 | "zeroize", 2353 | ] 2354 | 2355 | [[package]] 2356 | name = "rustls-native-certs" 2357 | version = "0.5.0" 2358 | source = "registry+https://github.com/rust-lang/crates.io-index" 2359 | checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" 2360 | dependencies = [ 2361 | "openssl-probe", 2362 | "rustls 0.19.1", 2363 | "schannel", 2364 | "security-framework", 2365 | ] 2366 | 2367 | [[package]] 2368 | name = "rustls-native-certs" 2369 | version = "0.6.3" 2370 | source = "registry+https://github.com/rust-lang/crates.io-index" 2371 | checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" 2372 | dependencies = [ 2373 | "openssl-probe", 2374 | "rustls-pemfile 1.0.4", 2375 | "schannel", 2376 | "security-framework", 2377 | ] 2378 | 2379 | [[package]] 2380 | name = "rustls-native-certs" 2381 | version = "0.7.0" 2382 | source = "registry+https://github.com/rust-lang/crates.io-index" 2383 | checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" 2384 | dependencies = [ 2385 | "openssl-probe", 2386 | "rustls-pemfile 2.1.2", 2387 | "rustls-pki-types", 2388 | "schannel", 2389 | "security-framework", 2390 | ] 2391 | 2392 | [[package]] 2393 | name = "rustls-pemfile" 2394 | version = "1.0.4" 2395 | source = "registry+https://github.com/rust-lang/crates.io-index" 2396 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 2397 | dependencies = [ 2398 | "base64 0.21.7", 2399 | ] 2400 | 2401 | [[package]] 2402 | name = "rustls-pemfile" 2403 | version = "2.1.2" 2404 | source = "registry+https://github.com/rust-lang/crates.io-index" 2405 | checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" 2406 | dependencies = [ 2407 | "base64 0.22.1", 2408 | "rustls-pki-types", 2409 | ] 2410 | 2411 | [[package]] 2412 | name = "rustls-pki-types" 2413 | version = "1.7.0" 2414 | source = "registry+https://github.com/rust-lang/crates.io-index" 2415 | checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" 2416 | 2417 | [[package]] 2418 | name = "rustls-webpki" 2419 | version = "0.101.7" 2420 | source = "registry+https://github.com/rust-lang/crates.io-index" 2421 | checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" 2422 | dependencies = [ 2423 | "ring 0.17.8", 2424 | "untrusted 0.9.0", 2425 | ] 2426 | 2427 | [[package]] 2428 | name = "rustls-webpki" 2429 | version = "0.102.3" 2430 | source = "registry+https://github.com/rust-lang/crates.io-index" 2431 | checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" 2432 | dependencies = [ 2433 | "ring 0.17.8", 2434 | "rustls-pki-types", 2435 | "untrusted 0.9.0", 2436 | ] 2437 | 2438 | [[package]] 2439 | name = "rustversion" 2440 | version = "1.0.17" 2441 | source = "registry+https://github.com/rust-lang/crates.io-index" 2442 | checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" 2443 | 2444 | [[package]] 2445 | name = "ryu" 2446 | version = "1.0.18" 2447 | source = "registry+https://github.com/rust-lang/crates.io-index" 2448 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 2449 | 2450 | [[package]] 2451 | name = "same-file" 2452 | version = "1.0.6" 2453 | source = "registry+https://github.com/rust-lang/crates.io-index" 2454 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2455 | dependencies = [ 2456 | "winapi-util", 2457 | ] 2458 | 2459 | [[package]] 2460 | name = "schannel" 2461 | version = "0.1.23" 2462 | source = "registry+https://github.com/rust-lang/crates.io-index" 2463 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 2464 | dependencies = [ 2465 | "windows-sys 0.52.0", 2466 | ] 2467 | 2468 | [[package]] 2469 | name = "scopeguard" 2470 | version = "1.2.0" 2471 | source = "registry+https://github.com/rust-lang/crates.io-index" 2472 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2473 | 2474 | [[package]] 2475 | name = "sct" 2476 | version = "0.6.1" 2477 | source = "registry+https://github.com/rust-lang/crates.io-index" 2478 | checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" 2479 | dependencies = [ 2480 | "ring 0.16.20", 2481 | "untrusted 0.7.1", 2482 | ] 2483 | 2484 | [[package]] 2485 | name = "sct" 2486 | version = "0.7.1" 2487 | source = "registry+https://github.com/rust-lang/crates.io-index" 2488 | checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" 2489 | dependencies = [ 2490 | "ring 0.17.8", 2491 | "untrusted 0.9.0", 2492 | ] 2493 | 2494 | [[package]] 2495 | name = "secrecy" 2496 | version = "0.8.0" 2497 | source = "registry+https://github.com/rust-lang/crates.io-index" 2498 | checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" 2499 | dependencies = [ 2500 | "serde", 2501 | "zeroize", 2502 | ] 2503 | 2504 | [[package]] 2505 | name = "security-framework" 2506 | version = "2.11.0" 2507 | source = "registry+https://github.com/rust-lang/crates.io-index" 2508 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" 2509 | dependencies = [ 2510 | "bitflags 2.5.0", 2511 | "core-foundation", 2512 | "core-foundation-sys", 2513 | "libc", 2514 | "security-framework-sys", 2515 | ] 2516 | 2517 | [[package]] 2518 | name = "security-framework-sys" 2519 | version = "2.11.0" 2520 | source = "registry+https://github.com/rust-lang/crates.io-index" 2521 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" 2522 | dependencies = [ 2523 | "core-foundation-sys", 2524 | "libc", 2525 | ] 2526 | 2527 | [[package]] 2528 | name = "semver" 2529 | version = "1.0.23" 2530 | source = "registry+https://github.com/rust-lang/crates.io-index" 2531 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 2532 | dependencies = [ 2533 | "serde", 2534 | ] 2535 | 2536 | [[package]] 2537 | name = "serde" 2538 | version = "1.0.202" 2539 | source = "registry+https://github.com/rust-lang/crates.io-index" 2540 | checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" 2541 | dependencies = [ 2542 | "serde_derive", 2543 | ] 2544 | 2545 | [[package]] 2546 | name = "serde_derive" 2547 | version = "1.0.202" 2548 | source = "registry+https://github.com/rust-lang/crates.io-index" 2549 | checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" 2550 | dependencies = [ 2551 | "proc-macro2", 2552 | "quote", 2553 | "syn 2.0.63", 2554 | ] 2555 | 2556 | [[package]] 2557 | name = "serde_json" 2558 | version = "1.0.117" 2559 | source = "registry+https://github.com/rust-lang/crates.io-index" 2560 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 2561 | dependencies = [ 2562 | "itoa", 2563 | "ryu", 2564 | "serde", 2565 | ] 2566 | 2567 | [[package]] 2568 | name = "serde_urlencoded" 2569 | version = "0.7.1" 2570 | source = "registry+https://github.com/rust-lang/crates.io-index" 2571 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 2572 | dependencies = [ 2573 | "form_urlencoded", 2574 | "itoa", 2575 | "ryu", 2576 | "serde", 2577 | ] 2578 | 2579 | [[package]] 2580 | name = "serenity" 2581 | version = "0.12.1" 2582 | source = "registry+https://github.com/rust-lang/crates.io-index" 2583 | checksum = "c64da29158bb55d70677cacd4f4f8eab1acef005fb830d9c3bea411b090e96a9" 2584 | dependencies = [ 2585 | "arrayvec", 2586 | "async-trait", 2587 | "base64 0.21.7", 2588 | "bitflags 2.5.0", 2589 | "bytes", 2590 | "chrono", 2591 | "dashmap", 2592 | "flate2", 2593 | "futures", 2594 | "fxhash", 2595 | "mime_guess", 2596 | "parking_lot", 2597 | "percent-encoding", 2598 | "reqwest", 2599 | "secrecy", 2600 | "serde", 2601 | "serde_json", 2602 | "time", 2603 | "tokio", 2604 | "tokio-tungstenite", 2605 | "tracing", 2606 | "typemap_rev", 2607 | "typesize", 2608 | "url", 2609 | ] 2610 | 2611 | [[package]] 2612 | name = "sha1" 2613 | version = "0.10.6" 2614 | source = "registry+https://github.com/rust-lang/crates.io-index" 2615 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 2616 | dependencies = [ 2617 | "cfg-if", 2618 | "cpufeatures", 2619 | "digest", 2620 | ] 2621 | 2622 | [[package]] 2623 | name = "shannon" 2624 | version = "0.2.0" 2625 | source = "registry+https://github.com/rust-lang/crates.io-index" 2626 | checksum = "7ea5b41c9427b56caa7b808cb548a04fb50bb5b9e98590b53f28064ff4174561" 2627 | dependencies = [ 2628 | "byteorder", 2629 | ] 2630 | 2631 | [[package]] 2632 | name = "shell-words" 2633 | version = "1.1.0" 2634 | source = "registry+https://github.com/rust-lang/crates.io-index" 2635 | checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" 2636 | 2637 | [[package]] 2638 | name = "shlex" 2639 | version = "1.3.0" 2640 | source = "registry+https://github.com/rust-lang/crates.io-index" 2641 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2642 | 2643 | [[package]] 2644 | name = "signal-hook-registry" 2645 | version = "1.4.2" 2646 | source = "registry+https://github.com/rust-lang/crates.io-index" 2647 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 2648 | dependencies = [ 2649 | "libc", 2650 | ] 2651 | 2652 | [[package]] 2653 | name = "signature" 2654 | version = "2.2.0" 2655 | source = "registry+https://github.com/rust-lang/crates.io-index" 2656 | checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 2657 | dependencies = [ 2658 | "digest", 2659 | "rand_core", 2660 | ] 2661 | 2662 | [[package]] 2663 | name = "skeptic" 2664 | version = "0.13.7" 2665 | source = "registry+https://github.com/rust-lang/crates.io-index" 2666 | checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" 2667 | dependencies = [ 2668 | "bytecount", 2669 | "cargo_metadata", 2670 | "error-chain", 2671 | "glob", 2672 | "pulldown-cmark", 2673 | "tempfile", 2674 | "walkdir", 2675 | ] 2676 | 2677 | [[package]] 2678 | name = "slab" 2679 | version = "0.4.9" 2680 | source = "registry+https://github.com/rust-lang/crates.io-index" 2681 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2682 | dependencies = [ 2683 | "autocfg", 2684 | ] 2685 | 2686 | [[package]] 2687 | name = "smallvec" 2688 | version = "1.13.2" 2689 | source = "registry+https://github.com/rust-lang/crates.io-index" 2690 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2691 | 2692 | [[package]] 2693 | name = "socket2" 2694 | version = "0.5.7" 2695 | source = "registry+https://github.com/rust-lang/crates.io-index" 2696 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 2697 | dependencies = [ 2698 | "libc", 2699 | "windows-sys 0.52.0", 2700 | ] 2701 | 2702 | [[package]] 2703 | name = "spin" 2704 | version = "0.5.2" 2705 | source = "registry+https://github.com/rust-lang/crates.io-index" 2706 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 2707 | 2708 | [[package]] 2709 | name = "spin" 2710 | version = "0.9.8" 2711 | source = "registry+https://github.com/rust-lang/crates.io-index" 2712 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 2713 | 2714 | [[package]] 2715 | name = "spinning_top" 2716 | version = "0.3.0" 2717 | source = "registry+https://github.com/rust-lang/crates.io-index" 2718 | checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" 2719 | dependencies = [ 2720 | "lock_api", 2721 | ] 2722 | 2723 | [[package]] 2724 | name = "spki" 2725 | version = "0.7.3" 2726 | source = "registry+https://github.com/rust-lang/crates.io-index" 2727 | checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 2728 | dependencies = [ 2729 | "base64ct", 2730 | "der", 2731 | ] 2732 | 2733 | [[package]] 2734 | name = "spotdj" 2735 | version = "0.1.0" 2736 | dependencies = [ 2737 | "librespot", 2738 | "poise", 2739 | "tokio", 2740 | ] 2741 | 2742 | [[package]] 2743 | name = "strsim" 2744 | version = "0.11.1" 2745 | source = "registry+https://github.com/rust-lang/crates.io-index" 2746 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 2747 | 2748 | [[package]] 2749 | name = "subtle" 2750 | version = "2.5.0" 2751 | source = "registry+https://github.com/rust-lang/crates.io-index" 2752 | checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 2753 | 2754 | [[package]] 2755 | name = "symphonia" 2756 | version = "0.5.4" 2757 | source = "registry+https://github.com/rust-lang/crates.io-index" 2758 | checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" 2759 | dependencies = [ 2760 | "lazy_static", 2761 | "symphonia-bundle-mp3", 2762 | "symphonia-codec-vorbis", 2763 | "symphonia-core", 2764 | "symphonia-format-ogg", 2765 | "symphonia-metadata", 2766 | ] 2767 | 2768 | [[package]] 2769 | name = "symphonia-bundle-mp3" 2770 | version = "0.5.4" 2771 | source = "registry+https://github.com/rust-lang/crates.io-index" 2772 | checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4" 2773 | dependencies = [ 2774 | "lazy_static", 2775 | "log", 2776 | "symphonia-core", 2777 | "symphonia-metadata", 2778 | ] 2779 | 2780 | [[package]] 2781 | name = "symphonia-codec-vorbis" 2782 | version = "0.5.4" 2783 | source = "registry+https://github.com/rust-lang/crates.io-index" 2784 | checksum = "5a98765fb46a0a6732b007f7e2870c2129b6f78d87db7987e6533c8f164a9f30" 2785 | dependencies = [ 2786 | "log", 2787 | "symphonia-core", 2788 | "symphonia-utils-xiph", 2789 | ] 2790 | 2791 | [[package]] 2792 | name = "symphonia-core" 2793 | version = "0.5.4" 2794 | source = "registry+https://github.com/rust-lang/crates.io-index" 2795 | checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" 2796 | dependencies = [ 2797 | "arrayvec", 2798 | "bitflags 1.3.2", 2799 | "bytemuck", 2800 | "lazy_static", 2801 | "log", 2802 | ] 2803 | 2804 | [[package]] 2805 | name = "symphonia-format-ogg" 2806 | version = "0.5.4" 2807 | source = "registry+https://github.com/rust-lang/crates.io-index" 2808 | checksum = "ada3505789516bcf00fc1157c67729eded428b455c27ca370e41f4d785bfa931" 2809 | dependencies = [ 2810 | "log", 2811 | "symphonia-core", 2812 | "symphonia-metadata", 2813 | "symphonia-utils-xiph", 2814 | ] 2815 | 2816 | [[package]] 2817 | name = "symphonia-metadata" 2818 | version = "0.5.4" 2819 | source = "registry+https://github.com/rust-lang/crates.io-index" 2820 | checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" 2821 | dependencies = [ 2822 | "encoding_rs", 2823 | "lazy_static", 2824 | "log", 2825 | "symphonia-core", 2826 | ] 2827 | 2828 | [[package]] 2829 | name = "symphonia-utils-xiph" 2830 | version = "0.5.4" 2831 | source = "registry+https://github.com/rust-lang/crates.io-index" 2832 | checksum = "484472580fa49991afda5f6550ece662237b00c6f562c7d9638d1b086ed010fe" 2833 | dependencies = [ 2834 | "symphonia-core", 2835 | "symphonia-metadata", 2836 | ] 2837 | 2838 | [[package]] 2839 | name = "syn" 2840 | version = "1.0.109" 2841 | source = "registry+https://github.com/rust-lang/crates.io-index" 2842 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2843 | dependencies = [ 2844 | "proc-macro2", 2845 | "quote", 2846 | "unicode-ident", 2847 | ] 2848 | 2849 | [[package]] 2850 | name = "syn" 2851 | version = "2.0.63" 2852 | source = "registry+https://github.com/rust-lang/crates.io-index" 2853 | checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704" 2854 | dependencies = [ 2855 | "proc-macro2", 2856 | "quote", 2857 | "unicode-ident", 2858 | ] 2859 | 2860 | [[package]] 2861 | name = "sync_wrapper" 2862 | version = "0.1.2" 2863 | source = "registry+https://github.com/rust-lang/crates.io-index" 2864 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 2865 | 2866 | [[package]] 2867 | name = "sysinfo" 2868 | version = "0.30.12" 2869 | source = "registry+https://github.com/rust-lang/crates.io-index" 2870 | checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" 2871 | dependencies = [ 2872 | "cfg-if", 2873 | "core-foundation-sys", 2874 | "libc", 2875 | "ntapi", 2876 | "once_cell", 2877 | "windows 0.52.0", 2878 | ] 2879 | 2880 | [[package]] 2881 | name = "system-configuration" 2882 | version = "0.5.1" 2883 | source = "registry+https://github.com/rust-lang/crates.io-index" 2884 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 2885 | dependencies = [ 2886 | "bitflags 1.3.2", 2887 | "core-foundation", 2888 | "system-configuration-sys", 2889 | ] 2890 | 2891 | [[package]] 2892 | name = "system-configuration-sys" 2893 | version = "0.5.0" 2894 | source = "registry+https://github.com/rust-lang/crates.io-index" 2895 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 2896 | dependencies = [ 2897 | "core-foundation-sys", 2898 | "libc", 2899 | ] 2900 | 2901 | [[package]] 2902 | name = "tagptr" 2903 | version = "0.2.0" 2904 | source = "registry+https://github.com/rust-lang/crates.io-index" 2905 | checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 2906 | 2907 | [[package]] 2908 | name = "tempfile" 2909 | version = "3.10.1" 2910 | source = "registry+https://github.com/rust-lang/crates.io-index" 2911 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 2912 | dependencies = [ 2913 | "cfg-if", 2914 | "fastrand", 2915 | "rustix", 2916 | "windows-sys 0.52.0", 2917 | ] 2918 | 2919 | [[package]] 2920 | name = "thiserror" 2921 | version = "1.0.60" 2922 | source = "registry+https://github.com/rust-lang/crates.io-index" 2923 | checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" 2924 | dependencies = [ 2925 | "thiserror-impl", 2926 | ] 2927 | 2928 | [[package]] 2929 | name = "thiserror-impl" 2930 | version = "1.0.60" 2931 | source = "registry+https://github.com/rust-lang/crates.io-index" 2932 | checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" 2933 | dependencies = [ 2934 | "proc-macro2", 2935 | "quote", 2936 | "syn 2.0.63", 2937 | ] 2938 | 2939 | [[package]] 2940 | name = "thread-id" 2941 | version = "4.2.1" 2942 | source = "registry+https://github.com/rust-lang/crates.io-index" 2943 | checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" 2944 | dependencies = [ 2945 | "libc", 2946 | "winapi", 2947 | ] 2948 | 2949 | [[package]] 2950 | name = "time" 2951 | version = "0.3.36" 2952 | source = "registry+https://github.com/rust-lang/crates.io-index" 2953 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 2954 | dependencies = [ 2955 | "deranged", 2956 | "itoa", 2957 | "libc", 2958 | "num-conv", 2959 | "num_threads", 2960 | "powerfmt", 2961 | "serde", 2962 | "time-core", 2963 | "time-macros", 2964 | ] 2965 | 2966 | [[package]] 2967 | name = "time-core" 2968 | version = "0.1.2" 2969 | source = "registry+https://github.com/rust-lang/crates.io-index" 2970 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 2971 | 2972 | [[package]] 2973 | name = "time-macros" 2974 | version = "0.2.18" 2975 | source = "registry+https://github.com/rust-lang/crates.io-index" 2976 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 2977 | dependencies = [ 2978 | "num-conv", 2979 | "time-core", 2980 | ] 2981 | 2982 | [[package]] 2983 | name = "tinyvec" 2984 | version = "1.6.0" 2985 | source = "registry+https://github.com/rust-lang/crates.io-index" 2986 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2987 | dependencies = [ 2988 | "tinyvec_macros", 2989 | ] 2990 | 2991 | [[package]] 2992 | name = "tinyvec_macros" 2993 | version = "0.1.1" 2994 | source = "registry+https://github.com/rust-lang/crates.io-index" 2995 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2996 | 2997 | [[package]] 2998 | name = "tokio" 2999 | version = "1.37.0" 3000 | source = "registry+https://github.com/rust-lang/crates.io-index" 3001 | checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" 3002 | dependencies = [ 3003 | "backtrace", 3004 | "bytes", 3005 | "libc", 3006 | "mio", 3007 | "num_cpus", 3008 | "parking_lot", 3009 | "pin-project-lite", 3010 | "signal-hook-registry", 3011 | "socket2", 3012 | "tokio-macros", 3013 | "windows-sys 0.48.0", 3014 | ] 3015 | 3016 | [[package]] 3017 | name = "tokio-macros" 3018 | version = "2.2.0" 3019 | source = "registry+https://github.com/rust-lang/crates.io-index" 3020 | checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" 3021 | dependencies = [ 3022 | "proc-macro2", 3023 | "quote", 3024 | "syn 2.0.63", 3025 | ] 3026 | 3027 | [[package]] 3028 | name = "tokio-rustls" 3029 | version = "0.22.0" 3030 | source = "registry+https://github.com/rust-lang/crates.io-index" 3031 | checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" 3032 | dependencies = [ 3033 | "rustls 0.19.1", 3034 | "tokio", 3035 | "webpki 0.21.4", 3036 | ] 3037 | 3038 | [[package]] 3039 | name = "tokio-rustls" 3040 | version = "0.24.1" 3041 | source = "registry+https://github.com/rust-lang/crates.io-index" 3042 | checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" 3043 | dependencies = [ 3044 | "rustls 0.21.12", 3045 | "tokio", 3046 | ] 3047 | 3048 | [[package]] 3049 | name = "tokio-rustls" 3050 | version = "0.25.0" 3051 | source = "registry+https://github.com/rust-lang/crates.io-index" 3052 | checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" 3053 | dependencies = [ 3054 | "rustls 0.22.4", 3055 | "rustls-pki-types", 3056 | "tokio", 3057 | ] 3058 | 3059 | [[package]] 3060 | name = "tokio-stream" 3061 | version = "0.1.15" 3062 | source = "registry+https://github.com/rust-lang/crates.io-index" 3063 | checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" 3064 | dependencies = [ 3065 | "futures-core", 3066 | "pin-project-lite", 3067 | "tokio", 3068 | ] 3069 | 3070 | [[package]] 3071 | name = "tokio-tungstenite" 3072 | version = "0.21.0" 3073 | source = "registry+https://github.com/rust-lang/crates.io-index" 3074 | checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" 3075 | dependencies = [ 3076 | "futures-util", 3077 | "log", 3078 | "rustls 0.22.4", 3079 | "rustls-native-certs 0.7.0", 3080 | "rustls-pki-types", 3081 | "tokio", 3082 | "tokio-rustls 0.25.0", 3083 | "tungstenite", 3084 | "webpki-roots 0.26.1", 3085 | ] 3086 | 3087 | [[package]] 3088 | name = "tokio-util" 3089 | version = "0.7.11" 3090 | source = "registry+https://github.com/rust-lang/crates.io-index" 3091 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 3092 | dependencies = [ 3093 | "bytes", 3094 | "futures-core", 3095 | "futures-sink", 3096 | "pin-project-lite", 3097 | "tokio", 3098 | ] 3099 | 3100 | [[package]] 3101 | name = "toml_datetime" 3102 | version = "0.6.6" 3103 | source = "registry+https://github.com/rust-lang/crates.io-index" 3104 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 3105 | 3106 | [[package]] 3107 | name = "toml_edit" 3108 | version = "0.21.1" 3109 | source = "registry+https://github.com/rust-lang/crates.io-index" 3110 | checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" 3111 | dependencies = [ 3112 | "indexmap 2.2.6", 3113 | "toml_datetime", 3114 | "winnow", 3115 | ] 3116 | 3117 | [[package]] 3118 | name = "tower-service" 3119 | version = "0.3.2" 3120 | source = "registry+https://github.com/rust-lang/crates.io-index" 3121 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 3122 | 3123 | [[package]] 3124 | name = "tracing" 3125 | version = "0.1.40" 3126 | source = "registry+https://github.com/rust-lang/crates.io-index" 3127 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 3128 | dependencies = [ 3129 | "log", 3130 | "pin-project-lite", 3131 | "tracing-attributes", 3132 | "tracing-core", 3133 | ] 3134 | 3135 | [[package]] 3136 | name = "tracing-attributes" 3137 | version = "0.1.27" 3138 | source = "registry+https://github.com/rust-lang/crates.io-index" 3139 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 3140 | dependencies = [ 3141 | "proc-macro2", 3142 | "quote", 3143 | "syn 2.0.63", 3144 | ] 3145 | 3146 | [[package]] 3147 | name = "tracing-core" 3148 | version = "0.1.32" 3149 | source = "registry+https://github.com/rust-lang/crates.io-index" 3150 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 3151 | dependencies = [ 3152 | "once_cell", 3153 | ] 3154 | 3155 | [[package]] 3156 | name = "triomphe" 3157 | version = "0.1.11" 3158 | source = "registry+https://github.com/rust-lang/crates.io-index" 3159 | checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" 3160 | 3161 | [[package]] 3162 | name = "try-lock" 3163 | version = "0.2.5" 3164 | source = "registry+https://github.com/rust-lang/crates.io-index" 3165 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 3166 | 3167 | [[package]] 3168 | name = "tungstenite" 3169 | version = "0.21.0" 3170 | source = "registry+https://github.com/rust-lang/crates.io-index" 3171 | checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" 3172 | dependencies = [ 3173 | "byteorder", 3174 | "bytes", 3175 | "data-encoding", 3176 | "http 1.1.0", 3177 | "httparse", 3178 | "log", 3179 | "rand", 3180 | "rustls 0.22.4", 3181 | "rustls-pki-types", 3182 | "sha1", 3183 | "thiserror", 3184 | "url", 3185 | "utf-8", 3186 | ] 3187 | 3188 | [[package]] 3189 | name = "typemap_rev" 3190 | version = "0.3.0" 3191 | source = "registry+https://github.com/rust-lang/crates.io-index" 3192 | checksum = "74b08b0c1257381af16a5c3605254d529d3e7e109f3c62befc5d168968192998" 3193 | 3194 | [[package]] 3195 | name = "typenum" 3196 | version = "1.17.0" 3197 | source = "registry+https://github.com/rust-lang/crates.io-index" 3198 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 3199 | 3200 | [[package]] 3201 | name = "typesize" 3202 | version = "0.1.7" 3203 | source = "registry+https://github.com/rust-lang/crates.io-index" 3204 | checksum = "eb704842c709bc76f63e99e704cb208beeccca2abbabd0d9aec02e48ca1cee0f" 3205 | dependencies = [ 3206 | "chrono", 3207 | "dashmap", 3208 | "hashbrown 0.14.5", 3209 | "mini-moka", 3210 | "parking_lot", 3211 | "secrecy", 3212 | "serde_json", 3213 | "time", 3214 | "typesize-derive", 3215 | "url", 3216 | ] 3217 | 3218 | [[package]] 3219 | name = "typesize-derive" 3220 | version = "0.1.7" 3221 | source = "registry+https://github.com/rust-lang/crates.io-index" 3222 | checksum = "905e88c2a4cc27686bd57e495121d451f027e441388a67f773be729ad4be1ea8" 3223 | dependencies = [ 3224 | "proc-macro2", 3225 | "quote", 3226 | "syn 2.0.63", 3227 | ] 3228 | 3229 | [[package]] 3230 | name = "unicase" 3231 | version = "2.7.0" 3232 | source = "registry+https://github.com/rust-lang/crates.io-index" 3233 | checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" 3234 | dependencies = [ 3235 | "version_check", 3236 | ] 3237 | 3238 | [[package]] 3239 | name = "unicode-bidi" 3240 | version = "0.3.15" 3241 | source = "registry+https://github.com/rust-lang/crates.io-index" 3242 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 3243 | 3244 | [[package]] 3245 | name = "unicode-ident" 3246 | version = "1.0.12" 3247 | source = "registry+https://github.com/rust-lang/crates.io-index" 3248 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 3249 | 3250 | [[package]] 3251 | name = "unicode-normalization" 3252 | version = "0.1.23" 3253 | source = "registry+https://github.com/rust-lang/crates.io-index" 3254 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 3255 | dependencies = [ 3256 | "tinyvec", 3257 | ] 3258 | 3259 | [[package]] 3260 | name = "unicode-width" 3261 | version = "0.1.12" 3262 | source = "registry+https://github.com/rust-lang/crates.io-index" 3263 | checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" 3264 | 3265 | [[package]] 3266 | name = "untrusted" 3267 | version = "0.7.1" 3268 | source = "registry+https://github.com/rust-lang/crates.io-index" 3269 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 3270 | 3271 | [[package]] 3272 | name = "untrusted" 3273 | version = "0.9.0" 3274 | source = "registry+https://github.com/rust-lang/crates.io-index" 3275 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 3276 | 3277 | [[package]] 3278 | name = "url" 3279 | version = "2.5.0" 3280 | source = "registry+https://github.com/rust-lang/crates.io-index" 3281 | checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 3282 | dependencies = [ 3283 | "form_urlencoded", 3284 | "idna", 3285 | "percent-encoding", 3286 | "serde", 3287 | ] 3288 | 3289 | [[package]] 3290 | name = "utf-8" 3291 | version = "0.7.6" 3292 | source = "registry+https://github.com/rust-lang/crates.io-index" 3293 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 3294 | 3295 | [[package]] 3296 | name = "utf8parse" 3297 | version = "0.2.1" 3298 | source = "registry+https://github.com/rust-lang/crates.io-index" 3299 | checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" 3300 | 3301 | [[package]] 3302 | name = "uuid" 3303 | version = "1.8.0" 3304 | source = "registry+https://github.com/rust-lang/crates.io-index" 3305 | checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 3306 | dependencies = [ 3307 | "getrandom", 3308 | "rand", 3309 | ] 3310 | 3311 | [[package]] 3312 | name = "vergen" 3313 | version = "8.3.1" 3314 | source = "registry+https://github.com/rust-lang/crates.io-index" 3315 | checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" 3316 | dependencies = [ 3317 | "anyhow", 3318 | "cfg-if", 3319 | "rustversion", 3320 | "time", 3321 | ] 3322 | 3323 | [[package]] 3324 | name = "version_check" 3325 | version = "0.9.4" 3326 | source = "registry+https://github.com/rust-lang/crates.io-index" 3327 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3328 | 3329 | [[package]] 3330 | name = "walkdir" 3331 | version = "2.5.0" 3332 | source = "registry+https://github.com/rust-lang/crates.io-index" 3333 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 3334 | dependencies = [ 3335 | "same-file", 3336 | "winapi-util", 3337 | ] 3338 | 3339 | [[package]] 3340 | name = "want" 3341 | version = "0.3.1" 3342 | source = "registry+https://github.com/rust-lang/crates.io-index" 3343 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 3344 | dependencies = [ 3345 | "try-lock", 3346 | ] 3347 | 3348 | [[package]] 3349 | name = "wasi" 3350 | version = "0.11.0+wasi-snapshot-preview1" 3351 | source = "registry+https://github.com/rust-lang/crates.io-index" 3352 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3353 | 3354 | [[package]] 3355 | name = "wasm-bindgen" 3356 | version = "0.2.92" 3357 | source = "registry+https://github.com/rust-lang/crates.io-index" 3358 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 3359 | dependencies = [ 3360 | "cfg-if", 3361 | "wasm-bindgen-macro", 3362 | ] 3363 | 3364 | [[package]] 3365 | name = "wasm-bindgen-backend" 3366 | version = "0.2.92" 3367 | source = "registry+https://github.com/rust-lang/crates.io-index" 3368 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 3369 | dependencies = [ 3370 | "bumpalo", 3371 | "log", 3372 | "once_cell", 3373 | "proc-macro2", 3374 | "quote", 3375 | "syn 2.0.63", 3376 | "wasm-bindgen-shared", 3377 | ] 3378 | 3379 | [[package]] 3380 | name = "wasm-bindgen-futures" 3381 | version = "0.4.42" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 3384 | dependencies = [ 3385 | "cfg-if", 3386 | "js-sys", 3387 | "wasm-bindgen", 3388 | "web-sys", 3389 | ] 3390 | 3391 | [[package]] 3392 | name = "wasm-bindgen-macro" 3393 | version = "0.2.92" 3394 | source = "registry+https://github.com/rust-lang/crates.io-index" 3395 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 3396 | dependencies = [ 3397 | "quote", 3398 | "wasm-bindgen-macro-support", 3399 | ] 3400 | 3401 | [[package]] 3402 | name = "wasm-bindgen-macro-support" 3403 | version = "0.2.92" 3404 | source = "registry+https://github.com/rust-lang/crates.io-index" 3405 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 3406 | dependencies = [ 3407 | "proc-macro2", 3408 | "quote", 3409 | "syn 2.0.63", 3410 | "wasm-bindgen-backend", 3411 | "wasm-bindgen-shared", 3412 | ] 3413 | 3414 | [[package]] 3415 | name = "wasm-bindgen-shared" 3416 | version = "0.2.92" 3417 | source = "registry+https://github.com/rust-lang/crates.io-index" 3418 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 3419 | 3420 | [[package]] 3421 | name = "wasm-streams" 3422 | version = "0.4.0" 3423 | source = "registry+https://github.com/rust-lang/crates.io-index" 3424 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" 3425 | dependencies = [ 3426 | "futures-util", 3427 | "js-sys", 3428 | "wasm-bindgen", 3429 | "wasm-bindgen-futures", 3430 | "web-sys", 3431 | ] 3432 | 3433 | [[package]] 3434 | name = "web-sys" 3435 | version = "0.3.69" 3436 | source = "registry+https://github.com/rust-lang/crates.io-index" 3437 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 3438 | dependencies = [ 3439 | "js-sys", 3440 | "wasm-bindgen", 3441 | ] 3442 | 3443 | [[package]] 3444 | name = "webpki" 3445 | version = "0.21.4" 3446 | source = "registry+https://github.com/rust-lang/crates.io-index" 3447 | checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" 3448 | dependencies = [ 3449 | "ring 0.16.20", 3450 | "untrusted 0.7.1", 3451 | ] 3452 | 3453 | [[package]] 3454 | name = "webpki" 3455 | version = "0.22.4" 3456 | source = "registry+https://github.com/rust-lang/crates.io-index" 3457 | checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" 3458 | dependencies = [ 3459 | "ring 0.17.8", 3460 | "untrusted 0.9.0", 3461 | ] 3462 | 3463 | [[package]] 3464 | name = "webpki-roots" 3465 | version = "0.25.4" 3466 | source = "registry+https://github.com/rust-lang/crates.io-index" 3467 | checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" 3468 | 3469 | [[package]] 3470 | name = "webpki-roots" 3471 | version = "0.26.1" 3472 | source = "registry+https://github.com/rust-lang/crates.io-index" 3473 | checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" 3474 | dependencies = [ 3475 | "rustls-pki-types", 3476 | ] 3477 | 3478 | [[package]] 3479 | name = "which" 3480 | version = "4.4.2" 3481 | source = "registry+https://github.com/rust-lang/crates.io-index" 3482 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" 3483 | dependencies = [ 3484 | "either", 3485 | "home", 3486 | "once_cell", 3487 | "rustix", 3488 | ] 3489 | 3490 | [[package]] 3491 | name = "winapi" 3492 | version = "0.3.9" 3493 | source = "registry+https://github.com/rust-lang/crates.io-index" 3494 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3495 | dependencies = [ 3496 | "winapi-i686-pc-windows-gnu", 3497 | "winapi-x86_64-pc-windows-gnu", 3498 | ] 3499 | 3500 | [[package]] 3501 | name = "winapi-i686-pc-windows-gnu" 3502 | version = "0.4.0" 3503 | source = "registry+https://github.com/rust-lang/crates.io-index" 3504 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3505 | 3506 | [[package]] 3507 | name = "winapi-util" 3508 | version = "0.1.8" 3509 | source = "registry+https://github.com/rust-lang/crates.io-index" 3510 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" 3511 | dependencies = [ 3512 | "windows-sys 0.52.0", 3513 | ] 3514 | 3515 | [[package]] 3516 | name = "winapi-x86_64-pc-windows-gnu" 3517 | version = "0.4.0" 3518 | source = "registry+https://github.com/rust-lang/crates.io-index" 3519 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3520 | 3521 | [[package]] 3522 | name = "windows" 3523 | version = "0.52.0" 3524 | source = "registry+https://github.com/rust-lang/crates.io-index" 3525 | checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" 3526 | dependencies = [ 3527 | "windows-core 0.52.0", 3528 | "windows-targets 0.52.5", 3529 | ] 3530 | 3531 | [[package]] 3532 | name = "windows" 3533 | version = "0.54.0" 3534 | source = "registry+https://github.com/rust-lang/crates.io-index" 3535 | checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" 3536 | dependencies = [ 3537 | "windows-core 0.54.0", 3538 | "windows-targets 0.52.5", 3539 | ] 3540 | 3541 | [[package]] 3542 | name = "windows-core" 3543 | version = "0.52.0" 3544 | source = "registry+https://github.com/rust-lang/crates.io-index" 3545 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 3546 | dependencies = [ 3547 | "windows-targets 0.52.5", 3548 | ] 3549 | 3550 | [[package]] 3551 | name = "windows-core" 3552 | version = "0.54.0" 3553 | source = "registry+https://github.com/rust-lang/crates.io-index" 3554 | checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" 3555 | dependencies = [ 3556 | "windows-result", 3557 | "windows-targets 0.52.5", 3558 | ] 3559 | 3560 | [[package]] 3561 | name = "windows-result" 3562 | version = "0.1.1" 3563 | source = "registry+https://github.com/rust-lang/crates.io-index" 3564 | checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b" 3565 | dependencies = [ 3566 | "windows-targets 0.52.5", 3567 | ] 3568 | 3569 | [[package]] 3570 | name = "windows-sys" 3571 | version = "0.45.0" 3572 | source = "registry+https://github.com/rust-lang/crates.io-index" 3573 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 3574 | dependencies = [ 3575 | "windows-targets 0.42.2", 3576 | ] 3577 | 3578 | [[package]] 3579 | name = "windows-sys" 3580 | version = "0.48.0" 3581 | source = "registry+https://github.com/rust-lang/crates.io-index" 3582 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3583 | dependencies = [ 3584 | "windows-targets 0.48.5", 3585 | ] 3586 | 3587 | [[package]] 3588 | name = "windows-sys" 3589 | version = "0.52.0" 3590 | source = "registry+https://github.com/rust-lang/crates.io-index" 3591 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3592 | dependencies = [ 3593 | "windows-targets 0.52.5", 3594 | ] 3595 | 3596 | [[package]] 3597 | name = "windows-targets" 3598 | version = "0.42.2" 3599 | source = "registry+https://github.com/rust-lang/crates.io-index" 3600 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 3601 | dependencies = [ 3602 | "windows_aarch64_gnullvm 0.42.2", 3603 | "windows_aarch64_msvc 0.42.2", 3604 | "windows_i686_gnu 0.42.2", 3605 | "windows_i686_msvc 0.42.2", 3606 | "windows_x86_64_gnu 0.42.2", 3607 | "windows_x86_64_gnullvm 0.42.2", 3608 | "windows_x86_64_msvc 0.42.2", 3609 | ] 3610 | 3611 | [[package]] 3612 | name = "windows-targets" 3613 | version = "0.48.5" 3614 | source = "registry+https://github.com/rust-lang/crates.io-index" 3615 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3616 | dependencies = [ 3617 | "windows_aarch64_gnullvm 0.48.5", 3618 | "windows_aarch64_msvc 0.48.5", 3619 | "windows_i686_gnu 0.48.5", 3620 | "windows_i686_msvc 0.48.5", 3621 | "windows_x86_64_gnu 0.48.5", 3622 | "windows_x86_64_gnullvm 0.48.5", 3623 | "windows_x86_64_msvc 0.48.5", 3624 | ] 3625 | 3626 | [[package]] 3627 | name = "windows-targets" 3628 | version = "0.52.5" 3629 | source = "registry+https://github.com/rust-lang/crates.io-index" 3630 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 3631 | dependencies = [ 3632 | "windows_aarch64_gnullvm 0.52.5", 3633 | "windows_aarch64_msvc 0.52.5", 3634 | "windows_i686_gnu 0.52.5", 3635 | "windows_i686_gnullvm", 3636 | "windows_i686_msvc 0.52.5", 3637 | "windows_x86_64_gnu 0.52.5", 3638 | "windows_x86_64_gnullvm 0.52.5", 3639 | "windows_x86_64_msvc 0.52.5", 3640 | ] 3641 | 3642 | [[package]] 3643 | name = "windows_aarch64_gnullvm" 3644 | version = "0.42.2" 3645 | source = "registry+https://github.com/rust-lang/crates.io-index" 3646 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 3647 | 3648 | [[package]] 3649 | name = "windows_aarch64_gnullvm" 3650 | version = "0.48.5" 3651 | source = "registry+https://github.com/rust-lang/crates.io-index" 3652 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3653 | 3654 | [[package]] 3655 | name = "windows_aarch64_gnullvm" 3656 | version = "0.52.5" 3657 | source = "registry+https://github.com/rust-lang/crates.io-index" 3658 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 3659 | 3660 | [[package]] 3661 | name = "windows_aarch64_msvc" 3662 | version = "0.42.2" 3663 | source = "registry+https://github.com/rust-lang/crates.io-index" 3664 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 3665 | 3666 | [[package]] 3667 | name = "windows_aarch64_msvc" 3668 | version = "0.48.5" 3669 | source = "registry+https://github.com/rust-lang/crates.io-index" 3670 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3671 | 3672 | [[package]] 3673 | name = "windows_aarch64_msvc" 3674 | version = "0.52.5" 3675 | source = "registry+https://github.com/rust-lang/crates.io-index" 3676 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 3677 | 3678 | [[package]] 3679 | name = "windows_i686_gnu" 3680 | version = "0.42.2" 3681 | source = "registry+https://github.com/rust-lang/crates.io-index" 3682 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 3683 | 3684 | [[package]] 3685 | name = "windows_i686_gnu" 3686 | version = "0.48.5" 3687 | source = "registry+https://github.com/rust-lang/crates.io-index" 3688 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3689 | 3690 | [[package]] 3691 | name = "windows_i686_gnu" 3692 | version = "0.52.5" 3693 | source = "registry+https://github.com/rust-lang/crates.io-index" 3694 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 3695 | 3696 | [[package]] 3697 | name = "windows_i686_gnullvm" 3698 | version = "0.52.5" 3699 | source = "registry+https://github.com/rust-lang/crates.io-index" 3700 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 3701 | 3702 | [[package]] 3703 | name = "windows_i686_msvc" 3704 | version = "0.42.2" 3705 | source = "registry+https://github.com/rust-lang/crates.io-index" 3706 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 3707 | 3708 | [[package]] 3709 | name = "windows_i686_msvc" 3710 | version = "0.48.5" 3711 | source = "registry+https://github.com/rust-lang/crates.io-index" 3712 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3713 | 3714 | [[package]] 3715 | name = "windows_i686_msvc" 3716 | version = "0.52.5" 3717 | source = "registry+https://github.com/rust-lang/crates.io-index" 3718 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 3719 | 3720 | [[package]] 3721 | name = "windows_x86_64_gnu" 3722 | version = "0.42.2" 3723 | source = "registry+https://github.com/rust-lang/crates.io-index" 3724 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 3725 | 3726 | [[package]] 3727 | name = "windows_x86_64_gnu" 3728 | version = "0.48.5" 3729 | source = "registry+https://github.com/rust-lang/crates.io-index" 3730 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 3731 | 3732 | [[package]] 3733 | name = "windows_x86_64_gnu" 3734 | version = "0.52.5" 3735 | source = "registry+https://github.com/rust-lang/crates.io-index" 3736 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 3737 | 3738 | [[package]] 3739 | name = "windows_x86_64_gnullvm" 3740 | version = "0.42.2" 3741 | source = "registry+https://github.com/rust-lang/crates.io-index" 3742 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 3743 | 3744 | [[package]] 3745 | name = "windows_x86_64_gnullvm" 3746 | version = "0.48.5" 3747 | source = "registry+https://github.com/rust-lang/crates.io-index" 3748 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 3749 | 3750 | [[package]] 3751 | name = "windows_x86_64_gnullvm" 3752 | version = "0.52.5" 3753 | source = "registry+https://github.com/rust-lang/crates.io-index" 3754 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 3755 | 3756 | [[package]] 3757 | name = "windows_x86_64_msvc" 3758 | version = "0.42.2" 3759 | source = "registry+https://github.com/rust-lang/crates.io-index" 3760 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 3761 | 3762 | [[package]] 3763 | name = "windows_x86_64_msvc" 3764 | version = "0.48.5" 3765 | source = "registry+https://github.com/rust-lang/crates.io-index" 3766 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 3767 | 3768 | [[package]] 3769 | name = "windows_x86_64_msvc" 3770 | version = "0.52.5" 3771 | source = "registry+https://github.com/rust-lang/crates.io-index" 3772 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 3773 | 3774 | [[package]] 3775 | name = "winnow" 3776 | version = "0.5.40" 3777 | source = "registry+https://github.com/rust-lang/crates.io-index" 3778 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 3779 | dependencies = [ 3780 | "memchr", 3781 | ] 3782 | 3783 | [[package]] 3784 | name = "winreg" 3785 | version = "0.50.0" 3786 | source = "registry+https://github.com/rust-lang/crates.io-index" 3787 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 3788 | dependencies = [ 3789 | "cfg-if", 3790 | "windows-sys 0.48.0", 3791 | ] 3792 | 3793 | [[package]] 3794 | name = "zerocopy" 3795 | version = "0.7.34" 3796 | source = "registry+https://github.com/rust-lang/crates.io-index" 3797 | checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" 3798 | dependencies = [ 3799 | "byteorder", 3800 | "zerocopy-derive", 3801 | ] 3802 | 3803 | [[package]] 3804 | name = "zerocopy-derive" 3805 | version = "0.7.34" 3806 | source = "registry+https://github.com/rust-lang/crates.io-index" 3807 | checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" 3808 | dependencies = [ 3809 | "proc-macro2", 3810 | "quote", 3811 | "syn 2.0.63", 3812 | ] 3813 | 3814 | [[package]] 3815 | name = "zeroize" 3816 | version = "1.7.0" 3817 | source = "registry+https://github.com/rust-lang/crates.io-index" 3818 | checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" 3819 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "spotdj" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | librespot = { git = "https://github.com/spotlightishere/librespot.git", branch = "dev"} 10 | poise = "0.6" 11 | tokio = { version = "1.37", features = [ "full" ]} 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Spotlight 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # spotdj 2 | A quick and dirty application to leverage Spotify DJ's TTS API. In specific, this provides a Discord bot that can be utilized with slash commands. 3 | 4 | As of writing, this currently uses a fork of [librespot-org/librespot](http://github.com/librespot-org/librespot) underneath [spotlightishere/librespot](https://github.com/spotlightishere/librespot) to correctly leverage Protobuf-related APIs. 5 | 6 | ## Usage 7 | 1. Set the environment variables `SPOTIFY_USERNAME` and `SPOTIFY_PASSWORD` to the username and password of your premium Spotify account. 8 | 1. Free accounts are not supported by librespot, and subsequently `spotdj` cannot support free accounts. 9 | 2. If you sign in to Spotify via Facebook, Apple, etc., you can still reset your account's password. This will not break third-party login. 10 | 2. Set the environment variable `DISCORD_TOKEN` to the token of a bot you've created via [Discord's Developer Portal](https://discord.com/developers/applications). 11 | 3. `cargo run`, and enjoy! 12 | 13 | 14 | https://github.com/spotlightishere/spotdj/assets/10055256/84968d2e-1ea4-4cdd-ad4a-84a3c74f1b15 15 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::{borrow::Cow, env}; 2 | 3 | use librespot::{ 4 | core::{authentication::Credentials, config::SessionConfig, http::Method, session::Session}, 5 | protocol::tts_resolve::{ 6 | resolve_request::{AudioFormat, Prompt, TtsProvider, TtsVoice}, 7 | ResolveRequest, 8 | }, 9 | }; 10 | use poise::serenity_prelude as serenity; 11 | 12 | /// Pass across our signed in Spotify session. 13 | // TODO(spotlightishere): Is it safe to retain this session like this? 14 | struct Data { 15 | session: Session, 16 | } 17 | type Error = Box; 18 | type Context<'a> = poise::Context<'a, Data, Error>; 19 | 20 | /// Utilises the Spotify DJ TTS voice to narrate your message. 21 | #[poise::command(slash_command)] 22 | async fn spotifydj( 23 | ctx: Context<'_>, 24 | #[description = "Message to read"] message: String, 25 | ) -> Result<(), Error> { 26 | // TODO(spotlightishere): Figure out a way to bridge markdown to proper SSML formatting 27 | let formatted_prompt = format!("{message}"); 28 | 29 | // Next, prepare our TTS request. 30 | // These values were observed while working with the official client. 31 | let narration_request = ResolveRequest { 32 | audio_format: AudioFormat::MP3.into(), 33 | // It's unknown if these other TTS providers function. 34 | // (As of writing, Sonatic is a company owned by Spotify.) 35 | tts_provider: TtsProvider::SONANTIC.into(), 36 | // Similarly - do any of these other voices exist? 37 | // 38 | // The official client appears to have "Voice 1" hardcoded, but there 39 | // are VOICE1 to VOICE40 as of Spotify 1.2.22.982.g794acc0a (macOS). 40 | tts_voice: TtsVoice::VOICE1.into(), 41 | sample_rate_hz: 44100, 42 | prompt: Prompt::Ssml(formatted_prompt.clone()).into(), 43 | 44 | // Language is oddly not specified by the official client. 45 | ..Default::default() 46 | }; 47 | 48 | // Make our TTS request! 49 | // Note that this should be "application/x-www-form-urlencoded", 50 | // but request_with_protobuf overwrites it to "application/x-protobuf". 51 | // 52 | // Thankfully, this does not appear to be validated :) 53 | let raw_response = ctx 54 | .data() 55 | .session 56 | .spclient() 57 | .request_with_protobuf( 58 | &Method::POST, 59 | "/client-tts/v1/fulfill", 60 | None, 61 | &narration_request, 62 | ) 63 | .await 64 | .expect("failed requesting TTS from Spotify"); 65 | 66 | let mp3_bytes = Cow::Owned(raw_response.to_vec()); 67 | let mp3_attachment = serenity::CreateAttachment::bytes(mp3_bytes, "spotify_dj.mp3".to_string()); 68 | 69 | let message = poise::CreateReply::default() 70 | .content(format!( 71 | "Sending the following SSML: ```xml 72 | {formatted_prompt} 73 | ```" 74 | )) 75 | .attachment(mp3_attachment) 76 | .reply(true); 77 | 78 | ctx.send(message).await?; 79 | 80 | Ok(()) 81 | } 82 | 83 | #[tokio::main] 84 | async fn main() { 85 | let session_config = SessionConfig::default(); 86 | 87 | // TODO(spotlightishere): Make this slightly less hectic 88 | let spotify_username = 89 | env::var("SPOTIFY_USERNAME").expect("should have env var SPOTIFY_USERNAME set"); 90 | let spotify_password = 91 | env::var("SPOTIFY_PASSWORD").expect("should have env var SPOTIFY_PASSWORD set"); 92 | let discord_token = env::var("DISCORD_TOKEN").expect("should have env var DISCORD_TOKEN set"); 93 | let credentials = Credentials::with_password(spotify_username, spotify_password); 94 | 95 | // Although we really only need credentials here, we need to connect to a Spotify session. 96 | println!("Connecting..."); 97 | let session = Session::new(session_config, None); 98 | session 99 | .connect(credentials, true) 100 | .await 101 | .expect("Failed to connect to Spotify!"); 102 | 103 | // Next, let's connect to Discord. 104 | let framework = poise::Framework::builder() 105 | .options(poise::FrameworkOptions { 106 | commands: vec![spotifydj()], 107 | ..Default::default() 108 | }) 109 | .setup(|ctx, _ready, framework| { 110 | Box::pin(async move { 111 | poise::builtins::register_globally(ctx, &framework.options().commands).await?; 112 | Ok(Data { session }) 113 | }) 114 | }) 115 | .build(); 116 | 117 | let intents = 118 | serenity::GatewayIntents::non_privileged() | serenity::GatewayIntents::MESSAGE_CONTENT; 119 | let client = serenity::ClientBuilder::new(discord_token, intents) 120 | .framework(framework) 121 | .await; 122 | 123 | client.unwrap().start().await.unwrap(); 124 | 125 | println!("Done"); 126 | } 127 | --------------------------------------------------------------------------------