├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── package-lock.json ├── package.json ├── src-tauri ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── icon.ico ├── icon.png ├── src │ └── main.rs └── tauri.conf.json └── src ├── bazinga.jpg ├── cssppparser.js ├── htmlppparser.js ├── index.html ├── internalPages ├── index.css ├── index.lua ├── settings.html └── welcome.html ├── lua.js ├── main.js ├── styles.css └── ui.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | 27 | src-tauri/target -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bussinga! 2 | ![Bussinga!](/src-tauri/icon.png) 3 | 4 | A beta better browser for [WebX](https://github.com/face-hh/webx), traditionally browsed through Napture. 5 | 6 | Currently, it supports styling most websites, lua that doesn't use `fetch` extensively, and the parsing of HTML++. It's written in [Tauri](https://tauri.app/), so HTML, CSS & JS. Don't worry though- webx sites will never be able to use JavaScript! 7 | 8 | Bussinga is still in an early beta, and some websites with scripts that fetch stuff a lot might not work. The majority of sites should work, even if they look a little off. 9 | 10 | It has, like, 11 | - Lua that doesn't hang the main thread & is lightning-fast 12 | - Tabs 13 | - Themes 14 | - An easily swappable DNS 15 | - Localhost testing with `localhost://3000` 16 | - Sheldon cooper 17 | 18 | ### Messy code disclaimer 19 | This is a weekend project that I'll probably forget about after a few days! It's purpose is to work, not be documented nor clean. Please be advised and look away at painful loops and stringged if/else statements. 20 | 21 | 22 | ### Look at how to make your site work as well as possible with bussinga in the settings page. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buzzr", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "tauri": "tauri" 8 | }, 9 | "devDependencies": { 10 | "@tauri-apps/cli": "^1.5.14" 11 | }, 12 | "dependencies": { 13 | "@tauri-apps/api": "^1.5.6", 14 | "tauri": "^0.15.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | # Generated by Tauri 6 | # will have schema files for capabilities auto-completion 7 | /gen/schemas 8 | -------------------------------------------------------------------------------- /src-tauri/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.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 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 = "aho-corasick" 22 | version = "1.1.3" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "alloc-no-stdlib" 31 | version = "2.0.4" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 34 | 35 | [[package]] 36 | name = "alloc-stdlib" 37 | version = "0.2.2" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 40 | dependencies = [ 41 | "alloc-no-stdlib", 42 | ] 43 | 44 | [[package]] 45 | name = "android-tzdata" 46 | version = "0.1.1" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 49 | 50 | [[package]] 51 | name = "android_system_properties" 52 | version = "0.1.5" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 55 | dependencies = [ 56 | "libc", 57 | ] 58 | 59 | [[package]] 60 | name = "anyhow" 61 | version = "1.0.86" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" 64 | 65 | [[package]] 66 | name = "atk" 67 | version = "0.15.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" 70 | dependencies = [ 71 | "atk-sys", 72 | "bitflags 1.3.2", 73 | "glib", 74 | "libc", 75 | ] 76 | 77 | [[package]] 78 | name = "atk-sys" 79 | version = "0.15.1" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" 82 | dependencies = [ 83 | "glib-sys", 84 | "gobject-sys", 85 | "libc", 86 | "system-deps 6.2.2", 87 | ] 88 | 89 | [[package]] 90 | name = "autocfg" 91 | version = "1.3.0" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 94 | 95 | [[package]] 96 | name = "backtrace" 97 | version = "0.3.72" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" 100 | dependencies = [ 101 | "addr2line", 102 | "cc", 103 | "cfg-if", 104 | "libc", 105 | "miniz_oxide", 106 | "object", 107 | "rustc-demangle", 108 | ] 109 | 110 | [[package]] 111 | name = "base64" 112 | version = "0.13.1" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 115 | 116 | [[package]] 117 | name = "base64" 118 | version = "0.21.7" 119 | source = "registry+https://github.com/rust-lang/crates.io-index" 120 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 121 | 122 | [[package]] 123 | name = "base64" 124 | version = "0.22.1" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 127 | 128 | [[package]] 129 | name = "bitflags" 130 | version = "1.3.2" 131 | source = "registry+https://github.com/rust-lang/crates.io-index" 132 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 133 | 134 | [[package]] 135 | name = "bitflags" 136 | version = "2.5.0" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 139 | 140 | [[package]] 141 | name = "block" 142 | version = "0.1.6" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 145 | 146 | [[package]] 147 | name = "block-buffer" 148 | version = "0.10.4" 149 | source = "registry+https://github.com/rust-lang/crates.io-index" 150 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 151 | dependencies = [ 152 | "generic-array", 153 | ] 154 | 155 | [[package]] 156 | name = "brotli" 157 | version = "3.5.0" 158 | source = "registry+https://github.com/rust-lang/crates.io-index" 159 | checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" 160 | dependencies = [ 161 | "alloc-no-stdlib", 162 | "alloc-stdlib", 163 | "brotli-decompressor", 164 | ] 165 | 166 | [[package]] 167 | name = "brotli-decompressor" 168 | version = "2.5.1" 169 | source = "registry+https://github.com/rust-lang/crates.io-index" 170 | checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" 171 | dependencies = [ 172 | "alloc-no-stdlib", 173 | "alloc-stdlib", 174 | ] 175 | 176 | [[package]] 177 | name = "bstr" 178 | version = "1.9.1" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" 181 | dependencies = [ 182 | "memchr", 183 | "serde", 184 | ] 185 | 186 | [[package]] 187 | name = "bumpalo" 188 | version = "3.16.0" 189 | source = "registry+https://github.com/rust-lang/crates.io-index" 190 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 191 | 192 | [[package]] 193 | name = "bussinga" 194 | version = "0.0.1" 195 | dependencies = [ 196 | "serde", 197 | "serde_json", 198 | "tauri", 199 | "tauri-build", 200 | ] 201 | 202 | [[package]] 203 | name = "bytemuck" 204 | version = "1.16.0" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" 207 | 208 | [[package]] 209 | name = "byteorder" 210 | version = "1.5.0" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 213 | 214 | [[package]] 215 | name = "bytes" 216 | version = "1.6.0" 217 | source = "registry+https://github.com/rust-lang/crates.io-index" 218 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 219 | dependencies = [ 220 | "serde", 221 | ] 222 | 223 | [[package]] 224 | name = "cairo-rs" 225 | version = "0.15.12" 226 | source = "registry+https://github.com/rust-lang/crates.io-index" 227 | checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 228 | dependencies = [ 229 | "bitflags 1.3.2", 230 | "cairo-sys-rs", 231 | "glib", 232 | "libc", 233 | "thiserror", 234 | ] 235 | 236 | [[package]] 237 | name = "cairo-sys-rs" 238 | version = "0.15.1" 239 | source = "registry+https://github.com/rust-lang/crates.io-index" 240 | checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" 241 | dependencies = [ 242 | "glib-sys", 243 | "libc", 244 | "system-deps 6.2.2", 245 | ] 246 | 247 | [[package]] 248 | name = "cargo_toml" 249 | version = "0.15.3" 250 | source = "registry+https://github.com/rust-lang/crates.io-index" 251 | checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" 252 | dependencies = [ 253 | "serde", 254 | "toml 0.7.8", 255 | ] 256 | 257 | [[package]] 258 | name = "cc" 259 | version = "1.0.98" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" 262 | 263 | [[package]] 264 | name = "cesu8" 265 | version = "1.1.0" 266 | source = "registry+https://github.com/rust-lang/crates.io-index" 267 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 268 | 269 | [[package]] 270 | name = "cfb" 271 | version = "0.7.3" 272 | source = "registry+https://github.com/rust-lang/crates.io-index" 273 | checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" 274 | dependencies = [ 275 | "byteorder", 276 | "fnv", 277 | "uuid", 278 | ] 279 | 280 | [[package]] 281 | name = "cfg-expr" 282 | version = "0.9.1" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" 285 | dependencies = [ 286 | "smallvec", 287 | ] 288 | 289 | [[package]] 290 | name = "cfg-expr" 291 | version = "0.15.8" 292 | source = "registry+https://github.com/rust-lang/crates.io-index" 293 | checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" 294 | dependencies = [ 295 | "smallvec", 296 | "target-lexicon", 297 | ] 298 | 299 | [[package]] 300 | name = "cfg-if" 301 | version = "1.0.0" 302 | source = "registry+https://github.com/rust-lang/crates.io-index" 303 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 304 | 305 | [[package]] 306 | name = "chrono" 307 | version = "0.4.38" 308 | source = "registry+https://github.com/rust-lang/crates.io-index" 309 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 310 | dependencies = [ 311 | "android-tzdata", 312 | "iana-time-zone", 313 | "num-traits", 314 | "serde", 315 | "windows-targets 0.52.5", 316 | ] 317 | 318 | [[package]] 319 | name = "cocoa" 320 | version = "0.24.1" 321 | source = "registry+https://github.com/rust-lang/crates.io-index" 322 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 323 | dependencies = [ 324 | "bitflags 1.3.2", 325 | "block", 326 | "cocoa-foundation", 327 | "core-foundation", 328 | "core-graphics", 329 | "foreign-types", 330 | "libc", 331 | "objc", 332 | ] 333 | 334 | [[package]] 335 | name = "cocoa-foundation" 336 | version = "0.1.2" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" 339 | dependencies = [ 340 | "bitflags 1.3.2", 341 | "block", 342 | "core-foundation", 343 | "core-graphics-types", 344 | "libc", 345 | "objc", 346 | ] 347 | 348 | [[package]] 349 | name = "color_quant" 350 | version = "1.1.0" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 353 | 354 | [[package]] 355 | name = "combine" 356 | version = "4.6.7" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 359 | dependencies = [ 360 | "bytes", 361 | "memchr", 362 | ] 363 | 364 | [[package]] 365 | name = "convert_case" 366 | version = "0.4.0" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 369 | 370 | [[package]] 371 | name = "core-foundation" 372 | version = "0.9.4" 373 | source = "registry+https://github.com/rust-lang/crates.io-index" 374 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 375 | dependencies = [ 376 | "core-foundation-sys", 377 | "libc", 378 | ] 379 | 380 | [[package]] 381 | name = "core-foundation-sys" 382 | version = "0.8.6" 383 | source = "registry+https://github.com/rust-lang/crates.io-index" 384 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 385 | 386 | [[package]] 387 | name = "core-graphics" 388 | version = "0.22.3" 389 | source = "registry+https://github.com/rust-lang/crates.io-index" 390 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 391 | dependencies = [ 392 | "bitflags 1.3.2", 393 | "core-foundation", 394 | "core-graphics-types", 395 | "foreign-types", 396 | "libc", 397 | ] 398 | 399 | [[package]] 400 | name = "core-graphics-types" 401 | version = "0.1.3" 402 | source = "registry+https://github.com/rust-lang/crates.io-index" 403 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 404 | dependencies = [ 405 | "bitflags 1.3.2", 406 | "core-foundation", 407 | "libc", 408 | ] 409 | 410 | [[package]] 411 | name = "cpufeatures" 412 | version = "0.2.12" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 415 | dependencies = [ 416 | "libc", 417 | ] 418 | 419 | [[package]] 420 | name = "crc32fast" 421 | version = "1.4.2" 422 | source = "registry+https://github.com/rust-lang/crates.io-index" 423 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 424 | dependencies = [ 425 | "cfg-if", 426 | ] 427 | 428 | [[package]] 429 | name = "crossbeam-channel" 430 | version = "0.5.13" 431 | source = "registry+https://github.com/rust-lang/crates.io-index" 432 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 433 | dependencies = [ 434 | "crossbeam-utils", 435 | ] 436 | 437 | [[package]] 438 | name = "crossbeam-deque" 439 | version = "0.8.5" 440 | source = "registry+https://github.com/rust-lang/crates.io-index" 441 | checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" 442 | dependencies = [ 443 | "crossbeam-epoch", 444 | "crossbeam-utils", 445 | ] 446 | 447 | [[package]] 448 | name = "crossbeam-epoch" 449 | version = "0.9.18" 450 | source = "registry+https://github.com/rust-lang/crates.io-index" 451 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 452 | dependencies = [ 453 | "crossbeam-utils", 454 | ] 455 | 456 | [[package]] 457 | name = "crossbeam-utils" 458 | version = "0.8.20" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 461 | 462 | [[package]] 463 | name = "crypto-common" 464 | version = "0.1.6" 465 | source = "registry+https://github.com/rust-lang/crates.io-index" 466 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 467 | dependencies = [ 468 | "generic-array", 469 | "typenum", 470 | ] 471 | 472 | [[package]] 473 | name = "cssparser" 474 | version = "0.27.2" 475 | source = "registry+https://github.com/rust-lang/crates.io-index" 476 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 477 | dependencies = [ 478 | "cssparser-macros", 479 | "dtoa-short", 480 | "itoa 0.4.8", 481 | "matches", 482 | "phf 0.8.0", 483 | "proc-macro2", 484 | "quote", 485 | "smallvec", 486 | "syn 1.0.109", 487 | ] 488 | 489 | [[package]] 490 | name = "cssparser-macros" 491 | version = "0.6.1" 492 | source = "registry+https://github.com/rust-lang/crates.io-index" 493 | checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 494 | dependencies = [ 495 | "quote", 496 | "syn 2.0.66", 497 | ] 498 | 499 | [[package]] 500 | name = "ctor" 501 | version = "0.2.8" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" 504 | dependencies = [ 505 | "quote", 506 | "syn 2.0.66", 507 | ] 508 | 509 | [[package]] 510 | name = "darling" 511 | version = "0.20.9" 512 | source = "registry+https://github.com/rust-lang/crates.io-index" 513 | checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" 514 | dependencies = [ 515 | "darling_core", 516 | "darling_macro", 517 | ] 518 | 519 | [[package]] 520 | name = "darling_core" 521 | version = "0.20.9" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" 524 | dependencies = [ 525 | "fnv", 526 | "ident_case", 527 | "proc-macro2", 528 | "quote", 529 | "strsim", 530 | "syn 2.0.66", 531 | ] 532 | 533 | [[package]] 534 | name = "darling_macro" 535 | version = "0.20.9" 536 | source = "registry+https://github.com/rust-lang/crates.io-index" 537 | checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" 538 | dependencies = [ 539 | "darling_core", 540 | "quote", 541 | "syn 2.0.66", 542 | ] 543 | 544 | [[package]] 545 | name = "deranged" 546 | version = "0.3.11" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 549 | dependencies = [ 550 | "powerfmt", 551 | "serde", 552 | ] 553 | 554 | [[package]] 555 | name = "derive_more" 556 | version = "0.99.17" 557 | source = "registry+https://github.com/rust-lang/crates.io-index" 558 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 559 | dependencies = [ 560 | "convert_case", 561 | "proc-macro2", 562 | "quote", 563 | "rustc_version", 564 | "syn 1.0.109", 565 | ] 566 | 567 | [[package]] 568 | name = "digest" 569 | version = "0.10.7" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 572 | dependencies = [ 573 | "block-buffer", 574 | "crypto-common", 575 | ] 576 | 577 | [[package]] 578 | name = "dirs-next" 579 | version = "2.0.0" 580 | source = "registry+https://github.com/rust-lang/crates.io-index" 581 | checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" 582 | dependencies = [ 583 | "cfg-if", 584 | "dirs-sys-next", 585 | ] 586 | 587 | [[package]] 588 | name = "dirs-sys-next" 589 | version = "0.1.2" 590 | source = "registry+https://github.com/rust-lang/crates.io-index" 591 | checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" 592 | dependencies = [ 593 | "libc", 594 | "redox_users", 595 | "winapi", 596 | ] 597 | 598 | [[package]] 599 | name = "dispatch" 600 | version = "0.2.0" 601 | source = "registry+https://github.com/rust-lang/crates.io-index" 602 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 603 | 604 | [[package]] 605 | name = "dtoa" 606 | version = "1.0.9" 607 | source = "registry+https://github.com/rust-lang/crates.io-index" 608 | checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 609 | 610 | [[package]] 611 | name = "dtoa-short" 612 | version = "0.3.4" 613 | source = "registry+https://github.com/rust-lang/crates.io-index" 614 | checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" 615 | dependencies = [ 616 | "dtoa", 617 | ] 618 | 619 | [[package]] 620 | name = "dunce" 621 | version = "1.0.4" 622 | source = "registry+https://github.com/rust-lang/crates.io-index" 623 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" 624 | 625 | [[package]] 626 | name = "embed-resource" 627 | version = "2.4.2" 628 | source = "registry+https://github.com/rust-lang/crates.io-index" 629 | checksum = "c6985554d0688b687c5cb73898a34fbe3ad6c24c58c238a4d91d5e840670ee9d" 630 | dependencies = [ 631 | "cc", 632 | "memchr", 633 | "rustc_version", 634 | "toml 0.8.13", 635 | "vswhom", 636 | "winreg 0.52.0", 637 | ] 638 | 639 | [[package]] 640 | name = "embed_plist" 641 | version = "1.2.2" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 644 | 645 | [[package]] 646 | name = "encoding_rs" 647 | version = "0.8.34" 648 | source = "registry+https://github.com/rust-lang/crates.io-index" 649 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 650 | dependencies = [ 651 | "cfg-if", 652 | ] 653 | 654 | [[package]] 655 | name = "equivalent" 656 | version = "1.0.1" 657 | source = "registry+https://github.com/rust-lang/crates.io-index" 658 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 659 | 660 | [[package]] 661 | name = "errno" 662 | version = "0.3.9" 663 | source = "registry+https://github.com/rust-lang/crates.io-index" 664 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 665 | dependencies = [ 666 | "libc", 667 | "windows-sys 0.52.0", 668 | ] 669 | 670 | [[package]] 671 | name = "fastrand" 672 | version = "2.1.0" 673 | source = "registry+https://github.com/rust-lang/crates.io-index" 674 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 675 | 676 | [[package]] 677 | name = "fdeflate" 678 | version = "0.3.4" 679 | source = "registry+https://github.com/rust-lang/crates.io-index" 680 | checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" 681 | dependencies = [ 682 | "simd-adler32", 683 | ] 684 | 685 | [[package]] 686 | name = "field-offset" 687 | version = "0.3.6" 688 | source = "registry+https://github.com/rust-lang/crates.io-index" 689 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 690 | dependencies = [ 691 | "memoffset", 692 | "rustc_version", 693 | ] 694 | 695 | [[package]] 696 | name = "filetime" 697 | version = "0.2.23" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" 700 | dependencies = [ 701 | "cfg-if", 702 | "libc", 703 | "redox_syscall 0.4.1", 704 | "windows-sys 0.52.0", 705 | ] 706 | 707 | [[package]] 708 | name = "flate2" 709 | version = "1.0.30" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" 712 | dependencies = [ 713 | "crc32fast", 714 | "miniz_oxide", 715 | ] 716 | 717 | [[package]] 718 | name = "fnv" 719 | version = "1.0.7" 720 | source = "registry+https://github.com/rust-lang/crates.io-index" 721 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 722 | 723 | [[package]] 724 | name = "foreign-types" 725 | version = "0.3.2" 726 | source = "registry+https://github.com/rust-lang/crates.io-index" 727 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 728 | dependencies = [ 729 | "foreign-types-shared", 730 | ] 731 | 732 | [[package]] 733 | name = "foreign-types-shared" 734 | version = "0.1.1" 735 | source = "registry+https://github.com/rust-lang/crates.io-index" 736 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 737 | 738 | [[package]] 739 | name = "form_urlencoded" 740 | version = "1.2.1" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 743 | dependencies = [ 744 | "percent-encoding", 745 | ] 746 | 747 | [[package]] 748 | name = "futf" 749 | version = "0.1.5" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 752 | dependencies = [ 753 | "mac", 754 | "new_debug_unreachable", 755 | ] 756 | 757 | [[package]] 758 | name = "futures-channel" 759 | version = "0.3.30" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 762 | dependencies = [ 763 | "futures-core", 764 | ] 765 | 766 | [[package]] 767 | name = "futures-core" 768 | version = "0.3.30" 769 | source = "registry+https://github.com/rust-lang/crates.io-index" 770 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 771 | 772 | [[package]] 773 | name = "futures-executor" 774 | version = "0.3.30" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 777 | dependencies = [ 778 | "futures-core", 779 | "futures-task", 780 | "futures-util", 781 | ] 782 | 783 | [[package]] 784 | name = "futures-io" 785 | version = "0.3.30" 786 | source = "registry+https://github.com/rust-lang/crates.io-index" 787 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 788 | 789 | [[package]] 790 | name = "futures-macro" 791 | version = "0.3.30" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 794 | dependencies = [ 795 | "proc-macro2", 796 | "quote", 797 | "syn 2.0.66", 798 | ] 799 | 800 | [[package]] 801 | name = "futures-sink" 802 | version = "0.3.30" 803 | source = "registry+https://github.com/rust-lang/crates.io-index" 804 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 805 | 806 | [[package]] 807 | name = "futures-task" 808 | version = "0.3.30" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 811 | 812 | [[package]] 813 | name = "futures-util" 814 | version = "0.3.30" 815 | source = "registry+https://github.com/rust-lang/crates.io-index" 816 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 817 | dependencies = [ 818 | "futures-core", 819 | "futures-io", 820 | "futures-macro", 821 | "futures-sink", 822 | "futures-task", 823 | "memchr", 824 | "pin-project-lite", 825 | "pin-utils", 826 | "slab", 827 | ] 828 | 829 | [[package]] 830 | name = "fxhash" 831 | version = "0.2.1" 832 | source = "registry+https://github.com/rust-lang/crates.io-index" 833 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 834 | dependencies = [ 835 | "byteorder", 836 | ] 837 | 838 | [[package]] 839 | name = "gdk" 840 | version = "0.15.4" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" 843 | dependencies = [ 844 | "bitflags 1.3.2", 845 | "cairo-rs", 846 | "gdk-pixbuf", 847 | "gdk-sys", 848 | "gio", 849 | "glib", 850 | "libc", 851 | "pango", 852 | ] 853 | 854 | [[package]] 855 | name = "gdk-pixbuf" 856 | version = "0.15.11" 857 | source = "registry+https://github.com/rust-lang/crates.io-index" 858 | checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" 859 | dependencies = [ 860 | "bitflags 1.3.2", 861 | "gdk-pixbuf-sys", 862 | "gio", 863 | "glib", 864 | "libc", 865 | ] 866 | 867 | [[package]] 868 | name = "gdk-pixbuf-sys" 869 | version = "0.15.10" 870 | source = "registry+https://github.com/rust-lang/crates.io-index" 871 | checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" 872 | dependencies = [ 873 | "gio-sys", 874 | "glib-sys", 875 | "gobject-sys", 876 | "libc", 877 | "system-deps 6.2.2", 878 | ] 879 | 880 | [[package]] 881 | name = "gdk-sys" 882 | version = "0.15.1" 883 | source = "registry+https://github.com/rust-lang/crates.io-index" 884 | checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" 885 | dependencies = [ 886 | "cairo-sys-rs", 887 | "gdk-pixbuf-sys", 888 | "gio-sys", 889 | "glib-sys", 890 | "gobject-sys", 891 | "libc", 892 | "pango-sys", 893 | "pkg-config", 894 | "system-deps 6.2.2", 895 | ] 896 | 897 | [[package]] 898 | name = "gdkwayland-sys" 899 | version = "0.15.3" 900 | source = "registry+https://github.com/rust-lang/crates.io-index" 901 | checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" 902 | dependencies = [ 903 | "gdk-sys", 904 | "glib-sys", 905 | "gobject-sys", 906 | "libc", 907 | "pkg-config", 908 | "system-deps 6.2.2", 909 | ] 910 | 911 | [[package]] 912 | name = "gdkx11-sys" 913 | version = "0.15.1" 914 | source = "registry+https://github.com/rust-lang/crates.io-index" 915 | checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" 916 | dependencies = [ 917 | "gdk-sys", 918 | "glib-sys", 919 | "libc", 920 | "system-deps 6.2.2", 921 | "x11", 922 | ] 923 | 924 | [[package]] 925 | name = "generator" 926 | version = "0.7.5" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" 929 | dependencies = [ 930 | "cc", 931 | "libc", 932 | "log", 933 | "rustversion", 934 | "windows 0.48.0", 935 | ] 936 | 937 | [[package]] 938 | name = "generic-array" 939 | version = "0.14.7" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 942 | dependencies = [ 943 | "typenum", 944 | "version_check", 945 | ] 946 | 947 | [[package]] 948 | name = "getrandom" 949 | version = "0.1.16" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 952 | dependencies = [ 953 | "cfg-if", 954 | "libc", 955 | "wasi 0.9.0+wasi-snapshot-preview1", 956 | ] 957 | 958 | [[package]] 959 | name = "getrandom" 960 | version = "0.2.15" 961 | source = "registry+https://github.com/rust-lang/crates.io-index" 962 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 963 | dependencies = [ 964 | "cfg-if", 965 | "libc", 966 | "wasi 0.11.0+wasi-snapshot-preview1", 967 | ] 968 | 969 | [[package]] 970 | name = "gimli" 971 | version = "0.29.0" 972 | source = "registry+https://github.com/rust-lang/crates.io-index" 973 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 974 | 975 | [[package]] 976 | name = "gio" 977 | version = "0.15.12" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 980 | dependencies = [ 981 | "bitflags 1.3.2", 982 | "futures-channel", 983 | "futures-core", 984 | "futures-io", 985 | "gio-sys", 986 | "glib", 987 | "libc", 988 | "once_cell", 989 | "thiserror", 990 | ] 991 | 992 | [[package]] 993 | name = "gio-sys" 994 | version = "0.15.10" 995 | source = "registry+https://github.com/rust-lang/crates.io-index" 996 | checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" 997 | dependencies = [ 998 | "glib-sys", 999 | "gobject-sys", 1000 | "libc", 1001 | "system-deps 6.2.2", 1002 | "winapi", 1003 | ] 1004 | 1005 | [[package]] 1006 | name = "glib" 1007 | version = "0.15.12" 1008 | source = "registry+https://github.com/rust-lang/crates.io-index" 1009 | checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 1010 | dependencies = [ 1011 | "bitflags 1.3.2", 1012 | "futures-channel", 1013 | "futures-core", 1014 | "futures-executor", 1015 | "futures-task", 1016 | "glib-macros", 1017 | "glib-sys", 1018 | "gobject-sys", 1019 | "libc", 1020 | "once_cell", 1021 | "smallvec", 1022 | "thiserror", 1023 | ] 1024 | 1025 | [[package]] 1026 | name = "glib-macros" 1027 | version = "0.15.13" 1028 | source = "registry+https://github.com/rust-lang/crates.io-index" 1029 | checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" 1030 | dependencies = [ 1031 | "anyhow", 1032 | "heck 0.4.1", 1033 | "proc-macro-crate", 1034 | "proc-macro-error", 1035 | "proc-macro2", 1036 | "quote", 1037 | "syn 1.0.109", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "glib-sys" 1042 | version = "0.15.10" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" 1045 | dependencies = [ 1046 | "libc", 1047 | "system-deps 6.2.2", 1048 | ] 1049 | 1050 | [[package]] 1051 | name = "glob" 1052 | version = "0.3.1" 1053 | source = "registry+https://github.com/rust-lang/crates.io-index" 1054 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1055 | 1056 | [[package]] 1057 | name = "globset" 1058 | version = "0.4.14" 1059 | source = "registry+https://github.com/rust-lang/crates.io-index" 1060 | checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" 1061 | dependencies = [ 1062 | "aho-corasick", 1063 | "bstr", 1064 | "log", 1065 | "regex-automata 0.4.6", 1066 | "regex-syntax 0.8.3", 1067 | ] 1068 | 1069 | [[package]] 1070 | name = "gobject-sys" 1071 | version = "0.15.10" 1072 | source = "registry+https://github.com/rust-lang/crates.io-index" 1073 | checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" 1074 | dependencies = [ 1075 | "glib-sys", 1076 | "libc", 1077 | "system-deps 6.2.2", 1078 | ] 1079 | 1080 | [[package]] 1081 | name = "gtk" 1082 | version = "0.15.5" 1083 | source = "registry+https://github.com/rust-lang/crates.io-index" 1084 | checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" 1085 | dependencies = [ 1086 | "atk", 1087 | "bitflags 1.3.2", 1088 | "cairo-rs", 1089 | "field-offset", 1090 | "futures-channel", 1091 | "gdk", 1092 | "gdk-pixbuf", 1093 | "gio", 1094 | "glib", 1095 | "gtk-sys", 1096 | "gtk3-macros", 1097 | "libc", 1098 | "once_cell", 1099 | "pango", 1100 | "pkg-config", 1101 | ] 1102 | 1103 | [[package]] 1104 | name = "gtk-sys" 1105 | version = "0.15.3" 1106 | source = "registry+https://github.com/rust-lang/crates.io-index" 1107 | checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" 1108 | dependencies = [ 1109 | "atk-sys", 1110 | "cairo-sys-rs", 1111 | "gdk-pixbuf-sys", 1112 | "gdk-sys", 1113 | "gio-sys", 1114 | "glib-sys", 1115 | "gobject-sys", 1116 | "libc", 1117 | "pango-sys", 1118 | "system-deps 6.2.2", 1119 | ] 1120 | 1121 | [[package]] 1122 | name = "gtk3-macros" 1123 | version = "0.15.6" 1124 | source = "registry+https://github.com/rust-lang/crates.io-index" 1125 | checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" 1126 | dependencies = [ 1127 | "anyhow", 1128 | "proc-macro-crate", 1129 | "proc-macro-error", 1130 | "proc-macro2", 1131 | "quote", 1132 | "syn 1.0.109", 1133 | ] 1134 | 1135 | [[package]] 1136 | name = "h2" 1137 | version = "0.3.26" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 1140 | dependencies = [ 1141 | "bytes", 1142 | "fnv", 1143 | "futures-core", 1144 | "futures-sink", 1145 | "futures-util", 1146 | "http", 1147 | "indexmap 2.2.6", 1148 | "slab", 1149 | "tokio", 1150 | "tokio-util", 1151 | "tracing", 1152 | ] 1153 | 1154 | [[package]] 1155 | name = "hashbrown" 1156 | version = "0.12.3" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1159 | 1160 | [[package]] 1161 | name = "hashbrown" 1162 | version = "0.14.5" 1163 | source = "registry+https://github.com/rust-lang/crates.io-index" 1164 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1165 | 1166 | [[package]] 1167 | name = "heck" 1168 | version = "0.3.3" 1169 | source = "registry+https://github.com/rust-lang/crates.io-index" 1170 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 1171 | dependencies = [ 1172 | "unicode-segmentation", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "heck" 1177 | version = "0.4.1" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1180 | 1181 | [[package]] 1182 | name = "heck" 1183 | version = "0.5.0" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1186 | 1187 | [[package]] 1188 | name = "hermit-abi" 1189 | version = "0.3.9" 1190 | source = "registry+https://github.com/rust-lang/crates.io-index" 1191 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 1192 | 1193 | [[package]] 1194 | name = "hex" 1195 | version = "0.4.3" 1196 | source = "registry+https://github.com/rust-lang/crates.io-index" 1197 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1198 | 1199 | [[package]] 1200 | name = "html5ever" 1201 | version = "0.26.0" 1202 | source = "registry+https://github.com/rust-lang/crates.io-index" 1203 | checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" 1204 | dependencies = [ 1205 | "log", 1206 | "mac", 1207 | "markup5ever", 1208 | "proc-macro2", 1209 | "quote", 1210 | "syn 1.0.109", 1211 | ] 1212 | 1213 | [[package]] 1214 | name = "http" 1215 | version = "0.2.12" 1216 | source = "registry+https://github.com/rust-lang/crates.io-index" 1217 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 1218 | dependencies = [ 1219 | "bytes", 1220 | "fnv", 1221 | "itoa 1.0.11", 1222 | ] 1223 | 1224 | [[package]] 1225 | name = "http-body" 1226 | version = "0.4.6" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 1229 | dependencies = [ 1230 | "bytes", 1231 | "http", 1232 | "pin-project-lite", 1233 | ] 1234 | 1235 | [[package]] 1236 | name = "http-range" 1237 | version = "0.1.5" 1238 | source = "registry+https://github.com/rust-lang/crates.io-index" 1239 | checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" 1240 | 1241 | [[package]] 1242 | name = "httparse" 1243 | version = "1.8.0" 1244 | source = "registry+https://github.com/rust-lang/crates.io-index" 1245 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 1246 | 1247 | [[package]] 1248 | name = "httpdate" 1249 | version = "1.0.3" 1250 | source = "registry+https://github.com/rust-lang/crates.io-index" 1251 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 1252 | 1253 | [[package]] 1254 | name = "hyper" 1255 | version = "0.14.28" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 1258 | dependencies = [ 1259 | "bytes", 1260 | "futures-channel", 1261 | "futures-core", 1262 | "futures-util", 1263 | "h2", 1264 | "http", 1265 | "http-body", 1266 | "httparse", 1267 | "httpdate", 1268 | "itoa 1.0.11", 1269 | "pin-project-lite", 1270 | "socket2", 1271 | "tokio", 1272 | "tower-service", 1273 | "tracing", 1274 | "want", 1275 | ] 1276 | 1277 | [[package]] 1278 | name = "hyper-tls" 1279 | version = "0.5.0" 1280 | source = "registry+https://github.com/rust-lang/crates.io-index" 1281 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" 1282 | dependencies = [ 1283 | "bytes", 1284 | "hyper", 1285 | "native-tls", 1286 | "tokio", 1287 | "tokio-native-tls", 1288 | ] 1289 | 1290 | [[package]] 1291 | name = "iana-time-zone" 1292 | version = "0.1.60" 1293 | source = "registry+https://github.com/rust-lang/crates.io-index" 1294 | checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 1295 | dependencies = [ 1296 | "android_system_properties", 1297 | "core-foundation-sys", 1298 | "iana-time-zone-haiku", 1299 | "js-sys", 1300 | "wasm-bindgen", 1301 | "windows-core", 1302 | ] 1303 | 1304 | [[package]] 1305 | name = "iana-time-zone-haiku" 1306 | version = "0.1.2" 1307 | source = "registry+https://github.com/rust-lang/crates.io-index" 1308 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1309 | dependencies = [ 1310 | "cc", 1311 | ] 1312 | 1313 | [[package]] 1314 | name = "ico" 1315 | version = "0.3.0" 1316 | source = "registry+https://github.com/rust-lang/crates.io-index" 1317 | checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" 1318 | dependencies = [ 1319 | "byteorder", 1320 | "png", 1321 | ] 1322 | 1323 | [[package]] 1324 | name = "ident_case" 1325 | version = "1.0.1" 1326 | source = "registry+https://github.com/rust-lang/crates.io-index" 1327 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1328 | 1329 | [[package]] 1330 | name = "idna" 1331 | version = "0.5.0" 1332 | source = "registry+https://github.com/rust-lang/crates.io-index" 1333 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 1334 | dependencies = [ 1335 | "unicode-bidi", 1336 | "unicode-normalization", 1337 | ] 1338 | 1339 | [[package]] 1340 | name = "ignore" 1341 | version = "0.4.22" 1342 | source = "registry+https://github.com/rust-lang/crates.io-index" 1343 | checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" 1344 | dependencies = [ 1345 | "crossbeam-deque", 1346 | "globset", 1347 | "log", 1348 | "memchr", 1349 | "regex-automata 0.4.6", 1350 | "same-file", 1351 | "walkdir", 1352 | "winapi-util", 1353 | ] 1354 | 1355 | [[package]] 1356 | name = "image" 1357 | version = "0.24.9" 1358 | source = "registry+https://github.com/rust-lang/crates.io-index" 1359 | checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" 1360 | dependencies = [ 1361 | "bytemuck", 1362 | "byteorder", 1363 | "color_quant", 1364 | "num-traits", 1365 | ] 1366 | 1367 | [[package]] 1368 | name = "indexmap" 1369 | version = "1.9.3" 1370 | source = "registry+https://github.com/rust-lang/crates.io-index" 1371 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1372 | dependencies = [ 1373 | "autocfg", 1374 | "hashbrown 0.12.3", 1375 | "serde", 1376 | ] 1377 | 1378 | [[package]] 1379 | name = "indexmap" 1380 | version = "2.2.6" 1381 | source = "registry+https://github.com/rust-lang/crates.io-index" 1382 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 1383 | dependencies = [ 1384 | "equivalent", 1385 | "hashbrown 0.14.5", 1386 | "serde", 1387 | ] 1388 | 1389 | [[package]] 1390 | name = "infer" 1391 | version = "0.13.0" 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" 1393 | checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" 1394 | dependencies = [ 1395 | "cfb", 1396 | ] 1397 | 1398 | [[package]] 1399 | name = "instant" 1400 | version = "0.1.13" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" 1403 | dependencies = [ 1404 | "cfg-if", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "ipnet" 1409 | version = "2.9.0" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 1412 | 1413 | [[package]] 1414 | name = "itoa" 1415 | version = "0.4.8" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 1418 | 1419 | [[package]] 1420 | name = "itoa" 1421 | version = "1.0.11" 1422 | source = "registry+https://github.com/rust-lang/crates.io-index" 1423 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1424 | 1425 | [[package]] 1426 | name = "javascriptcore-rs" 1427 | version = "0.16.0" 1428 | source = "registry+https://github.com/rust-lang/crates.io-index" 1429 | checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" 1430 | dependencies = [ 1431 | "bitflags 1.3.2", 1432 | "glib", 1433 | "javascriptcore-rs-sys", 1434 | ] 1435 | 1436 | [[package]] 1437 | name = "javascriptcore-rs-sys" 1438 | version = "0.4.0" 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" 1440 | checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" 1441 | dependencies = [ 1442 | "glib-sys", 1443 | "gobject-sys", 1444 | "libc", 1445 | "system-deps 5.0.0", 1446 | ] 1447 | 1448 | [[package]] 1449 | name = "jni" 1450 | version = "0.20.0" 1451 | source = "registry+https://github.com/rust-lang/crates.io-index" 1452 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1453 | dependencies = [ 1454 | "cesu8", 1455 | "combine", 1456 | "jni-sys", 1457 | "log", 1458 | "thiserror", 1459 | "walkdir", 1460 | ] 1461 | 1462 | [[package]] 1463 | name = "jni-sys" 1464 | version = "0.3.0" 1465 | source = "registry+https://github.com/rust-lang/crates.io-index" 1466 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1467 | 1468 | [[package]] 1469 | name = "js-sys" 1470 | version = "0.3.69" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 1473 | dependencies = [ 1474 | "wasm-bindgen", 1475 | ] 1476 | 1477 | [[package]] 1478 | name = "json-patch" 1479 | version = "1.4.0" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b" 1482 | dependencies = [ 1483 | "serde", 1484 | "serde_json", 1485 | "thiserror", 1486 | ] 1487 | 1488 | [[package]] 1489 | name = "kuchikiki" 1490 | version = "0.8.2" 1491 | source = "registry+https://github.com/rust-lang/crates.io-index" 1492 | checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" 1493 | dependencies = [ 1494 | "cssparser", 1495 | "html5ever", 1496 | "indexmap 1.9.3", 1497 | "matches", 1498 | "selectors", 1499 | ] 1500 | 1501 | [[package]] 1502 | name = "lazy_static" 1503 | version = "1.4.0" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1506 | 1507 | [[package]] 1508 | name = "libc" 1509 | version = "0.2.155" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 1512 | 1513 | [[package]] 1514 | name = "libredox" 1515 | version = "0.1.3" 1516 | source = "registry+https://github.com/rust-lang/crates.io-index" 1517 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 1518 | dependencies = [ 1519 | "bitflags 2.5.0", 1520 | "libc", 1521 | ] 1522 | 1523 | [[package]] 1524 | name = "line-wrap" 1525 | version = "0.2.0" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" 1528 | 1529 | [[package]] 1530 | name = "linux-raw-sys" 1531 | version = "0.4.14" 1532 | source = "registry+https://github.com/rust-lang/crates.io-index" 1533 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 1534 | 1535 | [[package]] 1536 | name = "lock_api" 1537 | version = "0.4.12" 1538 | source = "registry+https://github.com/rust-lang/crates.io-index" 1539 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1540 | dependencies = [ 1541 | "autocfg", 1542 | "scopeguard", 1543 | ] 1544 | 1545 | [[package]] 1546 | name = "log" 1547 | version = "0.4.21" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 1550 | 1551 | [[package]] 1552 | name = "loom" 1553 | version = "0.5.6" 1554 | source = "registry+https://github.com/rust-lang/crates.io-index" 1555 | checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" 1556 | dependencies = [ 1557 | "cfg-if", 1558 | "generator", 1559 | "scoped-tls", 1560 | "serde", 1561 | "serde_json", 1562 | "tracing", 1563 | "tracing-subscriber", 1564 | ] 1565 | 1566 | [[package]] 1567 | name = "mac" 1568 | version = "0.1.1" 1569 | source = "registry+https://github.com/rust-lang/crates.io-index" 1570 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1571 | 1572 | [[package]] 1573 | name = "malloc_buf" 1574 | version = "0.0.6" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1577 | dependencies = [ 1578 | "libc", 1579 | ] 1580 | 1581 | [[package]] 1582 | name = "markup5ever" 1583 | version = "0.11.0" 1584 | source = "registry+https://github.com/rust-lang/crates.io-index" 1585 | checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" 1586 | dependencies = [ 1587 | "log", 1588 | "phf 0.10.1", 1589 | "phf_codegen 0.10.0", 1590 | "string_cache", 1591 | "string_cache_codegen", 1592 | "tendril", 1593 | ] 1594 | 1595 | [[package]] 1596 | name = "matchers" 1597 | version = "0.1.0" 1598 | source = "registry+https://github.com/rust-lang/crates.io-index" 1599 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1600 | dependencies = [ 1601 | "regex-automata 0.1.10", 1602 | ] 1603 | 1604 | [[package]] 1605 | name = "matches" 1606 | version = "0.1.10" 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" 1608 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1609 | 1610 | [[package]] 1611 | name = "memchr" 1612 | version = "2.7.2" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 1615 | 1616 | [[package]] 1617 | name = "memoffset" 1618 | version = "0.9.1" 1619 | source = "registry+https://github.com/rust-lang/crates.io-index" 1620 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1621 | dependencies = [ 1622 | "autocfg", 1623 | ] 1624 | 1625 | [[package]] 1626 | name = "mime" 1627 | version = "0.3.17" 1628 | source = "registry+https://github.com/rust-lang/crates.io-index" 1629 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1630 | 1631 | [[package]] 1632 | name = "miniz_oxide" 1633 | version = "0.7.3" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 1636 | dependencies = [ 1637 | "adler", 1638 | "simd-adler32", 1639 | ] 1640 | 1641 | [[package]] 1642 | name = "mio" 1643 | version = "0.8.11" 1644 | source = "registry+https://github.com/rust-lang/crates.io-index" 1645 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1646 | dependencies = [ 1647 | "libc", 1648 | "wasi 0.11.0+wasi-snapshot-preview1", 1649 | "windows-sys 0.48.0", 1650 | ] 1651 | 1652 | [[package]] 1653 | name = "native-tls" 1654 | version = "0.2.12" 1655 | source = "registry+https://github.com/rust-lang/crates.io-index" 1656 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" 1657 | dependencies = [ 1658 | "libc", 1659 | "log", 1660 | "openssl", 1661 | "openssl-probe", 1662 | "openssl-sys", 1663 | "schannel", 1664 | "security-framework", 1665 | "security-framework-sys", 1666 | "tempfile", 1667 | ] 1668 | 1669 | [[package]] 1670 | name = "ndk" 1671 | version = "0.6.0" 1672 | source = "registry+https://github.com/rust-lang/crates.io-index" 1673 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" 1674 | dependencies = [ 1675 | "bitflags 1.3.2", 1676 | "jni-sys", 1677 | "ndk-sys", 1678 | "num_enum", 1679 | "thiserror", 1680 | ] 1681 | 1682 | [[package]] 1683 | name = "ndk-context" 1684 | version = "0.1.1" 1685 | source = "registry+https://github.com/rust-lang/crates.io-index" 1686 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1687 | 1688 | [[package]] 1689 | name = "ndk-sys" 1690 | version = "0.3.0" 1691 | source = "registry+https://github.com/rust-lang/crates.io-index" 1692 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" 1693 | dependencies = [ 1694 | "jni-sys", 1695 | ] 1696 | 1697 | [[package]] 1698 | name = "new_debug_unreachable" 1699 | version = "1.0.6" 1700 | source = "registry+https://github.com/rust-lang/crates.io-index" 1701 | checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" 1702 | 1703 | [[package]] 1704 | name = "nodrop" 1705 | version = "0.1.14" 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" 1707 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1708 | 1709 | [[package]] 1710 | name = "nu-ansi-term" 1711 | version = "0.46.0" 1712 | source = "registry+https://github.com/rust-lang/crates.io-index" 1713 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1714 | dependencies = [ 1715 | "overload", 1716 | "winapi", 1717 | ] 1718 | 1719 | [[package]] 1720 | name = "num-conv" 1721 | version = "0.1.0" 1722 | source = "registry+https://github.com/rust-lang/crates.io-index" 1723 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1724 | 1725 | [[package]] 1726 | name = "num-traits" 1727 | version = "0.2.19" 1728 | source = "registry+https://github.com/rust-lang/crates.io-index" 1729 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1730 | dependencies = [ 1731 | "autocfg", 1732 | ] 1733 | 1734 | [[package]] 1735 | name = "num_cpus" 1736 | version = "1.16.0" 1737 | source = "registry+https://github.com/rust-lang/crates.io-index" 1738 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1739 | dependencies = [ 1740 | "hermit-abi", 1741 | "libc", 1742 | ] 1743 | 1744 | [[package]] 1745 | name = "num_enum" 1746 | version = "0.5.11" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 1749 | dependencies = [ 1750 | "num_enum_derive", 1751 | ] 1752 | 1753 | [[package]] 1754 | name = "num_enum_derive" 1755 | version = "0.5.11" 1756 | source = "registry+https://github.com/rust-lang/crates.io-index" 1757 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 1758 | dependencies = [ 1759 | "proc-macro-crate", 1760 | "proc-macro2", 1761 | "quote", 1762 | "syn 1.0.109", 1763 | ] 1764 | 1765 | [[package]] 1766 | name = "objc" 1767 | version = "0.2.7" 1768 | source = "registry+https://github.com/rust-lang/crates.io-index" 1769 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1770 | dependencies = [ 1771 | "malloc_buf", 1772 | "objc_exception", 1773 | ] 1774 | 1775 | [[package]] 1776 | name = "objc_exception" 1777 | version = "0.1.2" 1778 | source = "registry+https://github.com/rust-lang/crates.io-index" 1779 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1780 | dependencies = [ 1781 | "cc", 1782 | ] 1783 | 1784 | [[package]] 1785 | name = "objc_id" 1786 | version = "0.1.1" 1787 | source = "registry+https://github.com/rust-lang/crates.io-index" 1788 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1789 | dependencies = [ 1790 | "objc", 1791 | ] 1792 | 1793 | [[package]] 1794 | name = "object" 1795 | version = "0.35.0" 1796 | source = "registry+https://github.com/rust-lang/crates.io-index" 1797 | checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" 1798 | dependencies = [ 1799 | "memchr", 1800 | ] 1801 | 1802 | [[package]] 1803 | name = "once_cell" 1804 | version = "1.19.0" 1805 | source = "registry+https://github.com/rust-lang/crates.io-index" 1806 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 1807 | 1808 | [[package]] 1809 | name = "open" 1810 | version = "3.2.0" 1811 | source = "registry+https://github.com/rust-lang/crates.io-index" 1812 | checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" 1813 | dependencies = [ 1814 | "pathdiff", 1815 | "windows-sys 0.42.0", 1816 | ] 1817 | 1818 | [[package]] 1819 | name = "openssl" 1820 | version = "0.10.64" 1821 | source = "registry+https://github.com/rust-lang/crates.io-index" 1822 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 1823 | dependencies = [ 1824 | "bitflags 2.5.0", 1825 | "cfg-if", 1826 | "foreign-types", 1827 | "libc", 1828 | "once_cell", 1829 | "openssl-macros", 1830 | "openssl-sys", 1831 | ] 1832 | 1833 | [[package]] 1834 | name = "openssl-macros" 1835 | version = "0.1.1" 1836 | source = "registry+https://github.com/rust-lang/crates.io-index" 1837 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1838 | dependencies = [ 1839 | "proc-macro2", 1840 | "quote", 1841 | "syn 2.0.66", 1842 | ] 1843 | 1844 | [[package]] 1845 | name = "openssl-probe" 1846 | version = "0.1.5" 1847 | source = "registry+https://github.com/rust-lang/crates.io-index" 1848 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1849 | 1850 | [[package]] 1851 | name = "openssl-sys" 1852 | version = "0.9.102" 1853 | source = "registry+https://github.com/rust-lang/crates.io-index" 1854 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 1855 | dependencies = [ 1856 | "cc", 1857 | "libc", 1858 | "pkg-config", 1859 | "vcpkg", 1860 | ] 1861 | 1862 | [[package]] 1863 | name = "overload" 1864 | version = "0.1.1" 1865 | source = "registry+https://github.com/rust-lang/crates.io-index" 1866 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1867 | 1868 | [[package]] 1869 | name = "pango" 1870 | version = "0.15.10" 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" 1872 | checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" 1873 | dependencies = [ 1874 | "bitflags 1.3.2", 1875 | "glib", 1876 | "libc", 1877 | "once_cell", 1878 | "pango-sys", 1879 | ] 1880 | 1881 | [[package]] 1882 | name = "pango-sys" 1883 | version = "0.15.10" 1884 | source = "registry+https://github.com/rust-lang/crates.io-index" 1885 | checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" 1886 | dependencies = [ 1887 | "glib-sys", 1888 | "gobject-sys", 1889 | "libc", 1890 | "system-deps 6.2.2", 1891 | ] 1892 | 1893 | [[package]] 1894 | name = "parking_lot" 1895 | version = "0.12.3" 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" 1897 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1898 | dependencies = [ 1899 | "lock_api", 1900 | "parking_lot_core", 1901 | ] 1902 | 1903 | [[package]] 1904 | name = "parking_lot_core" 1905 | version = "0.9.10" 1906 | source = "registry+https://github.com/rust-lang/crates.io-index" 1907 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1908 | dependencies = [ 1909 | "cfg-if", 1910 | "libc", 1911 | "redox_syscall 0.5.1", 1912 | "smallvec", 1913 | "windows-targets 0.52.5", 1914 | ] 1915 | 1916 | [[package]] 1917 | name = "pathdiff" 1918 | version = "0.2.1" 1919 | source = "registry+https://github.com/rust-lang/crates.io-index" 1920 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" 1921 | 1922 | [[package]] 1923 | name = "percent-encoding" 1924 | version = "2.3.1" 1925 | source = "registry+https://github.com/rust-lang/crates.io-index" 1926 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1927 | 1928 | [[package]] 1929 | name = "phf" 1930 | version = "0.8.0" 1931 | source = "registry+https://github.com/rust-lang/crates.io-index" 1932 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1933 | dependencies = [ 1934 | "phf_macros 0.8.0", 1935 | "phf_shared 0.8.0", 1936 | "proc-macro-hack", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "phf" 1941 | version = "0.10.1" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 1944 | dependencies = [ 1945 | "phf_shared 0.10.0", 1946 | ] 1947 | 1948 | [[package]] 1949 | name = "phf" 1950 | version = "0.11.2" 1951 | source = "registry+https://github.com/rust-lang/crates.io-index" 1952 | checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 1953 | dependencies = [ 1954 | "phf_macros 0.11.2", 1955 | "phf_shared 0.11.2", 1956 | ] 1957 | 1958 | [[package]] 1959 | name = "phf_codegen" 1960 | version = "0.8.0" 1961 | source = "registry+https://github.com/rust-lang/crates.io-index" 1962 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1963 | dependencies = [ 1964 | "phf_generator 0.8.0", 1965 | "phf_shared 0.8.0", 1966 | ] 1967 | 1968 | [[package]] 1969 | name = "phf_codegen" 1970 | version = "0.10.0" 1971 | source = "registry+https://github.com/rust-lang/crates.io-index" 1972 | checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" 1973 | dependencies = [ 1974 | "phf_generator 0.10.0", 1975 | "phf_shared 0.10.0", 1976 | ] 1977 | 1978 | [[package]] 1979 | name = "phf_generator" 1980 | version = "0.8.0" 1981 | source = "registry+https://github.com/rust-lang/crates.io-index" 1982 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1983 | dependencies = [ 1984 | "phf_shared 0.8.0", 1985 | "rand 0.7.3", 1986 | ] 1987 | 1988 | [[package]] 1989 | name = "phf_generator" 1990 | version = "0.10.0" 1991 | source = "registry+https://github.com/rust-lang/crates.io-index" 1992 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1993 | dependencies = [ 1994 | "phf_shared 0.10.0", 1995 | "rand 0.8.5", 1996 | ] 1997 | 1998 | [[package]] 1999 | name = "phf_generator" 2000 | version = "0.11.2" 2001 | source = "registry+https://github.com/rust-lang/crates.io-index" 2002 | checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" 2003 | dependencies = [ 2004 | "phf_shared 0.11.2", 2005 | "rand 0.8.5", 2006 | ] 2007 | 2008 | [[package]] 2009 | name = "phf_macros" 2010 | version = "0.8.0" 2011 | source = "registry+https://github.com/rust-lang/crates.io-index" 2012 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 2013 | dependencies = [ 2014 | "phf_generator 0.8.0", 2015 | "phf_shared 0.8.0", 2016 | "proc-macro-hack", 2017 | "proc-macro2", 2018 | "quote", 2019 | "syn 1.0.109", 2020 | ] 2021 | 2022 | [[package]] 2023 | name = "phf_macros" 2024 | version = "0.11.2" 2025 | source = "registry+https://github.com/rust-lang/crates.io-index" 2026 | checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" 2027 | dependencies = [ 2028 | "phf_generator 0.11.2", 2029 | "phf_shared 0.11.2", 2030 | "proc-macro2", 2031 | "quote", 2032 | "syn 2.0.66", 2033 | ] 2034 | 2035 | [[package]] 2036 | name = "phf_shared" 2037 | version = "0.8.0" 2038 | source = "registry+https://github.com/rust-lang/crates.io-index" 2039 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 2040 | dependencies = [ 2041 | "siphasher", 2042 | ] 2043 | 2044 | [[package]] 2045 | name = "phf_shared" 2046 | version = "0.10.0" 2047 | source = "registry+https://github.com/rust-lang/crates.io-index" 2048 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 2049 | dependencies = [ 2050 | "siphasher", 2051 | ] 2052 | 2053 | [[package]] 2054 | name = "phf_shared" 2055 | version = "0.11.2" 2056 | source = "registry+https://github.com/rust-lang/crates.io-index" 2057 | checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 2058 | dependencies = [ 2059 | "siphasher", 2060 | ] 2061 | 2062 | [[package]] 2063 | name = "pin-project-lite" 2064 | version = "0.2.14" 2065 | source = "registry+https://github.com/rust-lang/crates.io-index" 2066 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 2067 | 2068 | [[package]] 2069 | name = "pin-utils" 2070 | version = "0.1.0" 2071 | source = "registry+https://github.com/rust-lang/crates.io-index" 2072 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2073 | 2074 | [[package]] 2075 | name = "pkg-config" 2076 | version = "0.3.30" 2077 | source = "registry+https://github.com/rust-lang/crates.io-index" 2078 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 2079 | 2080 | [[package]] 2081 | name = "plist" 2082 | version = "1.6.1" 2083 | source = "registry+https://github.com/rust-lang/crates.io-index" 2084 | checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" 2085 | dependencies = [ 2086 | "base64 0.21.7", 2087 | "indexmap 2.2.6", 2088 | "line-wrap", 2089 | "quick-xml", 2090 | "serde", 2091 | "time", 2092 | ] 2093 | 2094 | [[package]] 2095 | name = "png" 2096 | version = "0.17.13" 2097 | source = "registry+https://github.com/rust-lang/crates.io-index" 2098 | checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" 2099 | dependencies = [ 2100 | "bitflags 1.3.2", 2101 | "crc32fast", 2102 | "fdeflate", 2103 | "flate2", 2104 | "miniz_oxide", 2105 | ] 2106 | 2107 | [[package]] 2108 | name = "powerfmt" 2109 | version = "0.2.0" 2110 | source = "registry+https://github.com/rust-lang/crates.io-index" 2111 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 2112 | 2113 | [[package]] 2114 | name = "ppv-lite86" 2115 | version = "0.2.17" 2116 | source = "registry+https://github.com/rust-lang/crates.io-index" 2117 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 2118 | 2119 | [[package]] 2120 | name = "precomputed-hash" 2121 | version = "0.1.1" 2122 | source = "registry+https://github.com/rust-lang/crates.io-index" 2123 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 2124 | 2125 | [[package]] 2126 | name = "proc-macro-crate" 2127 | version = "1.3.1" 2128 | source = "registry+https://github.com/rust-lang/crates.io-index" 2129 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 2130 | dependencies = [ 2131 | "once_cell", 2132 | "toml_edit 0.19.15", 2133 | ] 2134 | 2135 | [[package]] 2136 | name = "proc-macro-error" 2137 | version = "1.0.4" 2138 | source = "registry+https://github.com/rust-lang/crates.io-index" 2139 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 2140 | dependencies = [ 2141 | "proc-macro-error-attr", 2142 | "proc-macro2", 2143 | "quote", 2144 | "syn 1.0.109", 2145 | "version_check", 2146 | ] 2147 | 2148 | [[package]] 2149 | name = "proc-macro-error-attr" 2150 | version = "1.0.4" 2151 | source = "registry+https://github.com/rust-lang/crates.io-index" 2152 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2153 | dependencies = [ 2154 | "proc-macro2", 2155 | "quote", 2156 | "version_check", 2157 | ] 2158 | 2159 | [[package]] 2160 | name = "proc-macro-hack" 2161 | version = "0.5.20+deprecated" 2162 | source = "registry+https://github.com/rust-lang/crates.io-index" 2163 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 2164 | 2165 | [[package]] 2166 | name = "proc-macro2" 2167 | version = "1.0.84" 2168 | source = "registry+https://github.com/rust-lang/crates.io-index" 2169 | checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" 2170 | dependencies = [ 2171 | "unicode-ident", 2172 | ] 2173 | 2174 | [[package]] 2175 | name = "quick-xml" 2176 | version = "0.31.0" 2177 | source = "registry+https://github.com/rust-lang/crates.io-index" 2178 | checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" 2179 | dependencies = [ 2180 | "memchr", 2181 | ] 2182 | 2183 | [[package]] 2184 | name = "quote" 2185 | version = "1.0.36" 2186 | source = "registry+https://github.com/rust-lang/crates.io-index" 2187 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 2188 | dependencies = [ 2189 | "proc-macro2", 2190 | ] 2191 | 2192 | [[package]] 2193 | name = "rand" 2194 | version = "0.7.3" 2195 | source = "registry+https://github.com/rust-lang/crates.io-index" 2196 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 2197 | dependencies = [ 2198 | "getrandom 0.1.16", 2199 | "libc", 2200 | "rand_chacha 0.2.2", 2201 | "rand_core 0.5.1", 2202 | "rand_hc", 2203 | "rand_pcg", 2204 | ] 2205 | 2206 | [[package]] 2207 | name = "rand" 2208 | version = "0.8.5" 2209 | source = "registry+https://github.com/rust-lang/crates.io-index" 2210 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2211 | dependencies = [ 2212 | "libc", 2213 | "rand_chacha 0.3.1", 2214 | "rand_core 0.6.4", 2215 | ] 2216 | 2217 | [[package]] 2218 | name = "rand_chacha" 2219 | version = "0.2.2" 2220 | source = "registry+https://github.com/rust-lang/crates.io-index" 2221 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 2222 | dependencies = [ 2223 | "ppv-lite86", 2224 | "rand_core 0.5.1", 2225 | ] 2226 | 2227 | [[package]] 2228 | name = "rand_chacha" 2229 | version = "0.3.1" 2230 | source = "registry+https://github.com/rust-lang/crates.io-index" 2231 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2232 | dependencies = [ 2233 | "ppv-lite86", 2234 | "rand_core 0.6.4", 2235 | ] 2236 | 2237 | [[package]] 2238 | name = "rand_core" 2239 | version = "0.5.1" 2240 | source = "registry+https://github.com/rust-lang/crates.io-index" 2241 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 2242 | dependencies = [ 2243 | "getrandom 0.1.16", 2244 | ] 2245 | 2246 | [[package]] 2247 | name = "rand_core" 2248 | version = "0.6.4" 2249 | source = "registry+https://github.com/rust-lang/crates.io-index" 2250 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2251 | dependencies = [ 2252 | "getrandom 0.2.15", 2253 | ] 2254 | 2255 | [[package]] 2256 | name = "rand_hc" 2257 | version = "0.2.0" 2258 | source = "registry+https://github.com/rust-lang/crates.io-index" 2259 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 2260 | dependencies = [ 2261 | "rand_core 0.5.1", 2262 | ] 2263 | 2264 | [[package]] 2265 | name = "rand_pcg" 2266 | version = "0.2.1" 2267 | source = "registry+https://github.com/rust-lang/crates.io-index" 2268 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 2269 | dependencies = [ 2270 | "rand_core 0.5.1", 2271 | ] 2272 | 2273 | [[package]] 2274 | name = "raw-window-handle" 2275 | version = "0.5.2" 2276 | source = "registry+https://github.com/rust-lang/crates.io-index" 2277 | checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 2278 | 2279 | [[package]] 2280 | name = "redox_syscall" 2281 | version = "0.4.1" 2282 | source = "registry+https://github.com/rust-lang/crates.io-index" 2283 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 2284 | dependencies = [ 2285 | "bitflags 1.3.2", 2286 | ] 2287 | 2288 | [[package]] 2289 | name = "redox_syscall" 2290 | version = "0.5.1" 2291 | source = "registry+https://github.com/rust-lang/crates.io-index" 2292 | checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 2293 | dependencies = [ 2294 | "bitflags 2.5.0", 2295 | ] 2296 | 2297 | [[package]] 2298 | name = "redox_users" 2299 | version = "0.4.5" 2300 | source = "registry+https://github.com/rust-lang/crates.io-index" 2301 | checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" 2302 | dependencies = [ 2303 | "getrandom 0.2.15", 2304 | "libredox", 2305 | "thiserror", 2306 | ] 2307 | 2308 | [[package]] 2309 | name = "regex" 2310 | version = "1.10.4" 2311 | source = "registry+https://github.com/rust-lang/crates.io-index" 2312 | checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" 2313 | dependencies = [ 2314 | "aho-corasick", 2315 | "memchr", 2316 | "regex-automata 0.4.6", 2317 | "regex-syntax 0.8.3", 2318 | ] 2319 | 2320 | [[package]] 2321 | name = "regex-automata" 2322 | version = "0.1.10" 2323 | source = "registry+https://github.com/rust-lang/crates.io-index" 2324 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 2325 | dependencies = [ 2326 | "regex-syntax 0.6.29", 2327 | ] 2328 | 2329 | [[package]] 2330 | name = "regex-automata" 2331 | version = "0.4.6" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" 2334 | dependencies = [ 2335 | "aho-corasick", 2336 | "memchr", 2337 | "regex-syntax 0.8.3", 2338 | ] 2339 | 2340 | [[package]] 2341 | name = "regex-syntax" 2342 | version = "0.6.29" 2343 | source = "registry+https://github.com/rust-lang/crates.io-index" 2344 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 2345 | 2346 | [[package]] 2347 | name = "regex-syntax" 2348 | version = "0.8.3" 2349 | source = "registry+https://github.com/rust-lang/crates.io-index" 2350 | checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" 2351 | 2352 | [[package]] 2353 | name = "reqwest" 2354 | version = "0.11.27" 2355 | source = "registry+https://github.com/rust-lang/crates.io-index" 2356 | checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" 2357 | dependencies = [ 2358 | "base64 0.21.7", 2359 | "bytes", 2360 | "encoding_rs", 2361 | "futures-core", 2362 | "futures-util", 2363 | "h2", 2364 | "http", 2365 | "http-body", 2366 | "hyper", 2367 | "hyper-tls", 2368 | "ipnet", 2369 | "js-sys", 2370 | "log", 2371 | "mime", 2372 | "native-tls", 2373 | "once_cell", 2374 | "percent-encoding", 2375 | "pin-project-lite", 2376 | "rustls-pemfile", 2377 | "serde", 2378 | "serde_json", 2379 | "serde_urlencoded", 2380 | "sync_wrapper", 2381 | "system-configuration", 2382 | "tokio", 2383 | "tokio-native-tls", 2384 | "tokio-util", 2385 | "tower-service", 2386 | "url", 2387 | "wasm-bindgen", 2388 | "wasm-bindgen-futures", 2389 | "wasm-streams", 2390 | "web-sys", 2391 | "winreg 0.50.0", 2392 | ] 2393 | 2394 | [[package]] 2395 | name = "rustc-demangle" 2396 | version = "0.1.24" 2397 | source = "registry+https://github.com/rust-lang/crates.io-index" 2398 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 2399 | 2400 | [[package]] 2401 | name = "rustc_version" 2402 | version = "0.4.0" 2403 | source = "registry+https://github.com/rust-lang/crates.io-index" 2404 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2405 | dependencies = [ 2406 | "semver", 2407 | ] 2408 | 2409 | [[package]] 2410 | name = "rustix" 2411 | version = "0.38.34" 2412 | source = "registry+https://github.com/rust-lang/crates.io-index" 2413 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 2414 | dependencies = [ 2415 | "bitflags 2.5.0", 2416 | "errno", 2417 | "libc", 2418 | "linux-raw-sys", 2419 | "windows-sys 0.52.0", 2420 | ] 2421 | 2422 | [[package]] 2423 | name = "rustls-pemfile" 2424 | version = "1.0.4" 2425 | source = "registry+https://github.com/rust-lang/crates.io-index" 2426 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 2427 | dependencies = [ 2428 | "base64 0.21.7", 2429 | ] 2430 | 2431 | [[package]] 2432 | name = "rustversion" 2433 | version = "1.0.17" 2434 | source = "registry+https://github.com/rust-lang/crates.io-index" 2435 | checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" 2436 | 2437 | [[package]] 2438 | name = "ryu" 2439 | version = "1.0.18" 2440 | source = "registry+https://github.com/rust-lang/crates.io-index" 2441 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 2442 | 2443 | [[package]] 2444 | name = "same-file" 2445 | version = "1.0.6" 2446 | source = "registry+https://github.com/rust-lang/crates.io-index" 2447 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2448 | dependencies = [ 2449 | "winapi-util", 2450 | ] 2451 | 2452 | [[package]] 2453 | name = "schannel" 2454 | version = "0.1.23" 2455 | source = "registry+https://github.com/rust-lang/crates.io-index" 2456 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 2457 | dependencies = [ 2458 | "windows-sys 0.52.0", 2459 | ] 2460 | 2461 | [[package]] 2462 | name = "scoped-tls" 2463 | version = "1.0.1" 2464 | source = "registry+https://github.com/rust-lang/crates.io-index" 2465 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 2466 | 2467 | [[package]] 2468 | name = "scopeguard" 2469 | version = "1.2.0" 2470 | source = "registry+https://github.com/rust-lang/crates.io-index" 2471 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2472 | 2473 | [[package]] 2474 | name = "security-framework" 2475 | version = "2.11.0" 2476 | source = "registry+https://github.com/rust-lang/crates.io-index" 2477 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" 2478 | dependencies = [ 2479 | "bitflags 2.5.0", 2480 | "core-foundation", 2481 | "core-foundation-sys", 2482 | "libc", 2483 | "security-framework-sys", 2484 | ] 2485 | 2486 | [[package]] 2487 | name = "security-framework-sys" 2488 | version = "2.11.0" 2489 | source = "registry+https://github.com/rust-lang/crates.io-index" 2490 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" 2491 | dependencies = [ 2492 | "core-foundation-sys", 2493 | "libc", 2494 | ] 2495 | 2496 | [[package]] 2497 | name = "selectors" 2498 | version = "0.22.0" 2499 | source = "registry+https://github.com/rust-lang/crates.io-index" 2500 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 2501 | dependencies = [ 2502 | "bitflags 1.3.2", 2503 | "cssparser", 2504 | "derive_more", 2505 | "fxhash", 2506 | "log", 2507 | "matches", 2508 | "phf 0.8.0", 2509 | "phf_codegen 0.8.0", 2510 | "precomputed-hash", 2511 | "servo_arc", 2512 | "smallvec", 2513 | "thin-slice", 2514 | ] 2515 | 2516 | [[package]] 2517 | name = "semver" 2518 | version = "1.0.23" 2519 | source = "registry+https://github.com/rust-lang/crates.io-index" 2520 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 2521 | dependencies = [ 2522 | "serde", 2523 | ] 2524 | 2525 | [[package]] 2526 | name = "serde" 2527 | version = "1.0.203" 2528 | source = "registry+https://github.com/rust-lang/crates.io-index" 2529 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 2530 | dependencies = [ 2531 | "serde_derive", 2532 | ] 2533 | 2534 | [[package]] 2535 | name = "serde_derive" 2536 | version = "1.0.203" 2537 | source = "registry+https://github.com/rust-lang/crates.io-index" 2538 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 2539 | dependencies = [ 2540 | "proc-macro2", 2541 | "quote", 2542 | "syn 2.0.66", 2543 | ] 2544 | 2545 | [[package]] 2546 | name = "serde_json" 2547 | version = "1.0.117" 2548 | source = "registry+https://github.com/rust-lang/crates.io-index" 2549 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 2550 | dependencies = [ 2551 | "indexmap 2.2.6", 2552 | "itoa 1.0.11", 2553 | "ryu", 2554 | "serde", 2555 | ] 2556 | 2557 | [[package]] 2558 | name = "serde_repr" 2559 | version = "0.1.19" 2560 | source = "registry+https://github.com/rust-lang/crates.io-index" 2561 | checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" 2562 | dependencies = [ 2563 | "proc-macro2", 2564 | "quote", 2565 | "syn 2.0.66", 2566 | ] 2567 | 2568 | [[package]] 2569 | name = "serde_spanned" 2570 | version = "0.6.6" 2571 | source = "registry+https://github.com/rust-lang/crates.io-index" 2572 | checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" 2573 | dependencies = [ 2574 | "serde", 2575 | ] 2576 | 2577 | [[package]] 2578 | name = "serde_urlencoded" 2579 | version = "0.7.1" 2580 | source = "registry+https://github.com/rust-lang/crates.io-index" 2581 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 2582 | dependencies = [ 2583 | "form_urlencoded", 2584 | "itoa 1.0.11", 2585 | "ryu", 2586 | "serde", 2587 | ] 2588 | 2589 | [[package]] 2590 | name = "serde_with" 2591 | version = "3.8.1" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" 2594 | dependencies = [ 2595 | "base64 0.22.1", 2596 | "chrono", 2597 | "hex", 2598 | "indexmap 1.9.3", 2599 | "indexmap 2.2.6", 2600 | "serde", 2601 | "serde_derive", 2602 | "serde_json", 2603 | "serde_with_macros", 2604 | "time", 2605 | ] 2606 | 2607 | [[package]] 2608 | name = "serde_with_macros" 2609 | version = "3.8.1" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" 2612 | dependencies = [ 2613 | "darling", 2614 | "proc-macro2", 2615 | "quote", 2616 | "syn 2.0.66", 2617 | ] 2618 | 2619 | [[package]] 2620 | name = "serialize-to-javascript" 2621 | version = "0.1.1" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" 2624 | dependencies = [ 2625 | "serde", 2626 | "serde_json", 2627 | "serialize-to-javascript-impl", 2628 | ] 2629 | 2630 | [[package]] 2631 | name = "serialize-to-javascript-impl" 2632 | version = "0.1.1" 2633 | source = "registry+https://github.com/rust-lang/crates.io-index" 2634 | checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" 2635 | dependencies = [ 2636 | "proc-macro2", 2637 | "quote", 2638 | "syn 1.0.109", 2639 | ] 2640 | 2641 | [[package]] 2642 | name = "servo_arc" 2643 | version = "0.1.1" 2644 | source = "registry+https://github.com/rust-lang/crates.io-index" 2645 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 2646 | dependencies = [ 2647 | "nodrop", 2648 | "stable_deref_trait", 2649 | ] 2650 | 2651 | [[package]] 2652 | name = "sha2" 2653 | version = "0.10.8" 2654 | source = "registry+https://github.com/rust-lang/crates.io-index" 2655 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 2656 | dependencies = [ 2657 | "cfg-if", 2658 | "cpufeatures", 2659 | "digest", 2660 | ] 2661 | 2662 | [[package]] 2663 | name = "sharded-slab" 2664 | version = "0.1.7" 2665 | source = "registry+https://github.com/rust-lang/crates.io-index" 2666 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 2667 | dependencies = [ 2668 | "lazy_static", 2669 | ] 2670 | 2671 | [[package]] 2672 | name = "simd-adler32" 2673 | version = "0.3.7" 2674 | source = "registry+https://github.com/rust-lang/crates.io-index" 2675 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 2676 | 2677 | [[package]] 2678 | name = "siphasher" 2679 | version = "0.3.11" 2680 | source = "registry+https://github.com/rust-lang/crates.io-index" 2681 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2682 | 2683 | [[package]] 2684 | name = "slab" 2685 | version = "0.4.9" 2686 | source = "registry+https://github.com/rust-lang/crates.io-index" 2687 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2688 | dependencies = [ 2689 | "autocfg", 2690 | ] 2691 | 2692 | [[package]] 2693 | name = "smallvec" 2694 | version = "1.13.2" 2695 | source = "registry+https://github.com/rust-lang/crates.io-index" 2696 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2697 | 2698 | [[package]] 2699 | name = "socket2" 2700 | version = "0.5.7" 2701 | source = "registry+https://github.com/rust-lang/crates.io-index" 2702 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 2703 | dependencies = [ 2704 | "libc", 2705 | "windows-sys 0.52.0", 2706 | ] 2707 | 2708 | [[package]] 2709 | name = "soup2" 2710 | version = "0.2.1" 2711 | source = "registry+https://github.com/rust-lang/crates.io-index" 2712 | checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" 2713 | dependencies = [ 2714 | "bitflags 1.3.2", 2715 | "gio", 2716 | "glib", 2717 | "libc", 2718 | "once_cell", 2719 | "soup2-sys", 2720 | ] 2721 | 2722 | [[package]] 2723 | name = "soup2-sys" 2724 | version = "0.2.0" 2725 | source = "registry+https://github.com/rust-lang/crates.io-index" 2726 | checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" 2727 | dependencies = [ 2728 | "bitflags 1.3.2", 2729 | "gio-sys", 2730 | "glib-sys", 2731 | "gobject-sys", 2732 | "libc", 2733 | "system-deps 5.0.0", 2734 | ] 2735 | 2736 | [[package]] 2737 | name = "stable_deref_trait" 2738 | version = "1.2.0" 2739 | source = "registry+https://github.com/rust-lang/crates.io-index" 2740 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2741 | 2742 | [[package]] 2743 | name = "state" 2744 | version = "0.5.3" 2745 | source = "registry+https://github.com/rust-lang/crates.io-index" 2746 | checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" 2747 | dependencies = [ 2748 | "loom", 2749 | ] 2750 | 2751 | [[package]] 2752 | name = "string_cache" 2753 | version = "0.8.7" 2754 | source = "registry+https://github.com/rust-lang/crates.io-index" 2755 | checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" 2756 | dependencies = [ 2757 | "new_debug_unreachable", 2758 | "once_cell", 2759 | "parking_lot", 2760 | "phf_shared 0.10.0", 2761 | "precomputed-hash", 2762 | "serde", 2763 | ] 2764 | 2765 | [[package]] 2766 | name = "string_cache_codegen" 2767 | version = "0.5.2" 2768 | source = "registry+https://github.com/rust-lang/crates.io-index" 2769 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 2770 | dependencies = [ 2771 | "phf_generator 0.10.0", 2772 | "phf_shared 0.10.0", 2773 | "proc-macro2", 2774 | "quote", 2775 | ] 2776 | 2777 | [[package]] 2778 | name = "strsim" 2779 | version = "0.11.1" 2780 | source = "registry+https://github.com/rust-lang/crates.io-index" 2781 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 2782 | 2783 | [[package]] 2784 | name = "syn" 2785 | version = "1.0.109" 2786 | source = "registry+https://github.com/rust-lang/crates.io-index" 2787 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2788 | dependencies = [ 2789 | "proc-macro2", 2790 | "quote", 2791 | "unicode-ident", 2792 | ] 2793 | 2794 | [[package]] 2795 | name = "syn" 2796 | version = "2.0.66" 2797 | source = "registry+https://github.com/rust-lang/crates.io-index" 2798 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" 2799 | dependencies = [ 2800 | "proc-macro2", 2801 | "quote", 2802 | "unicode-ident", 2803 | ] 2804 | 2805 | [[package]] 2806 | name = "sync_wrapper" 2807 | version = "0.1.2" 2808 | source = "registry+https://github.com/rust-lang/crates.io-index" 2809 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 2810 | 2811 | [[package]] 2812 | name = "system-configuration" 2813 | version = "0.5.1" 2814 | source = "registry+https://github.com/rust-lang/crates.io-index" 2815 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 2816 | dependencies = [ 2817 | "bitflags 1.3.2", 2818 | "core-foundation", 2819 | "system-configuration-sys", 2820 | ] 2821 | 2822 | [[package]] 2823 | name = "system-configuration-sys" 2824 | version = "0.5.0" 2825 | source = "registry+https://github.com/rust-lang/crates.io-index" 2826 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 2827 | dependencies = [ 2828 | "core-foundation-sys", 2829 | "libc", 2830 | ] 2831 | 2832 | [[package]] 2833 | name = "system-deps" 2834 | version = "5.0.0" 2835 | source = "registry+https://github.com/rust-lang/crates.io-index" 2836 | checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" 2837 | dependencies = [ 2838 | "cfg-expr 0.9.1", 2839 | "heck 0.3.3", 2840 | "pkg-config", 2841 | "toml 0.5.11", 2842 | "version-compare 0.0.11", 2843 | ] 2844 | 2845 | [[package]] 2846 | name = "system-deps" 2847 | version = "6.2.2" 2848 | source = "registry+https://github.com/rust-lang/crates.io-index" 2849 | checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" 2850 | dependencies = [ 2851 | "cfg-expr 0.15.8", 2852 | "heck 0.5.0", 2853 | "pkg-config", 2854 | "toml 0.8.13", 2855 | "version-compare 0.2.0", 2856 | ] 2857 | 2858 | [[package]] 2859 | name = "tao" 2860 | version = "0.16.9" 2861 | source = "registry+https://github.com/rust-lang/crates.io-index" 2862 | checksum = "575c856fc21e551074869dcfaad8f706412bd5b803dfa0fbf6881c4ff4bfafab" 2863 | dependencies = [ 2864 | "bitflags 1.3.2", 2865 | "cairo-rs", 2866 | "cc", 2867 | "cocoa", 2868 | "core-foundation", 2869 | "core-graphics", 2870 | "crossbeam-channel", 2871 | "dispatch", 2872 | "gdk", 2873 | "gdk-pixbuf", 2874 | "gdk-sys", 2875 | "gdkwayland-sys", 2876 | "gdkx11-sys", 2877 | "gio", 2878 | "glib", 2879 | "glib-sys", 2880 | "gtk", 2881 | "image", 2882 | "instant", 2883 | "jni", 2884 | "lazy_static", 2885 | "libc", 2886 | "log", 2887 | "ndk", 2888 | "ndk-context", 2889 | "ndk-sys", 2890 | "objc", 2891 | "once_cell", 2892 | "parking_lot", 2893 | "png", 2894 | "raw-window-handle", 2895 | "scopeguard", 2896 | "serde", 2897 | "tao-macros", 2898 | "unicode-segmentation", 2899 | "uuid", 2900 | "windows 0.39.0", 2901 | "windows-implement", 2902 | "x11-dl", 2903 | ] 2904 | 2905 | [[package]] 2906 | name = "tao-macros" 2907 | version = "0.1.2" 2908 | source = "registry+https://github.com/rust-lang/crates.io-index" 2909 | checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" 2910 | dependencies = [ 2911 | "proc-macro2", 2912 | "quote", 2913 | "syn 1.0.109", 2914 | ] 2915 | 2916 | [[package]] 2917 | name = "tar" 2918 | version = "0.4.40" 2919 | source = "registry+https://github.com/rust-lang/crates.io-index" 2920 | checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" 2921 | dependencies = [ 2922 | "filetime", 2923 | "libc", 2924 | "xattr", 2925 | ] 2926 | 2927 | [[package]] 2928 | name = "target-lexicon" 2929 | version = "0.12.14" 2930 | source = "registry+https://github.com/rust-lang/crates.io-index" 2931 | checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" 2932 | 2933 | [[package]] 2934 | name = "tauri" 2935 | version = "1.6.7" 2936 | source = "registry+https://github.com/rust-lang/crates.io-index" 2937 | checksum = "67c7177b6be45bbb875aa239578f5adc982a1b3d5ea5b315ccd100aeb0043374" 2938 | dependencies = [ 2939 | "anyhow", 2940 | "bytes", 2941 | "cocoa", 2942 | "dirs-next", 2943 | "dunce", 2944 | "embed_plist", 2945 | "encoding_rs", 2946 | "flate2", 2947 | "futures-util", 2948 | "getrandom 0.2.15", 2949 | "glib", 2950 | "glob", 2951 | "gtk", 2952 | "heck 0.5.0", 2953 | "http", 2954 | "ignore", 2955 | "indexmap 1.9.3", 2956 | "objc", 2957 | "once_cell", 2958 | "open", 2959 | "percent-encoding", 2960 | "rand 0.8.5", 2961 | "raw-window-handle", 2962 | "regex", 2963 | "reqwest", 2964 | "semver", 2965 | "serde", 2966 | "serde_json", 2967 | "serde_repr", 2968 | "serialize-to-javascript", 2969 | "state", 2970 | "tar", 2971 | "tauri-macros", 2972 | "tauri-runtime", 2973 | "tauri-runtime-wry", 2974 | "tauri-utils", 2975 | "tempfile", 2976 | "thiserror", 2977 | "tokio", 2978 | "url", 2979 | "uuid", 2980 | "webkit2gtk", 2981 | "webview2-com", 2982 | "windows 0.39.0", 2983 | ] 2984 | 2985 | [[package]] 2986 | name = "tauri-build" 2987 | version = "1.5.2" 2988 | source = "registry+https://github.com/rust-lang/crates.io-index" 2989 | checksum = "ab30cba12974d0f9b09794f61e72cad6da2142d3ceb81e519321bab86ce53312" 2990 | dependencies = [ 2991 | "anyhow", 2992 | "cargo_toml", 2993 | "dirs-next", 2994 | "heck 0.5.0", 2995 | "json-patch", 2996 | "semver", 2997 | "serde", 2998 | "serde_json", 2999 | "tauri-utils", 3000 | "tauri-winres", 3001 | "walkdir", 3002 | ] 3003 | 3004 | [[package]] 3005 | name = "tauri-codegen" 3006 | version = "1.4.3" 3007 | source = "registry+https://github.com/rust-lang/crates.io-index" 3008 | checksum = "c3a1d90db526a8cdfd54444ad3f34d8d4d58fa5c536463915942393743bd06f8" 3009 | dependencies = [ 3010 | "base64 0.21.7", 3011 | "brotli", 3012 | "ico", 3013 | "json-patch", 3014 | "plist", 3015 | "png", 3016 | "proc-macro2", 3017 | "quote", 3018 | "regex", 3019 | "semver", 3020 | "serde", 3021 | "serde_json", 3022 | "sha2", 3023 | "tauri-utils", 3024 | "thiserror", 3025 | "time", 3026 | "uuid", 3027 | "walkdir", 3028 | ] 3029 | 3030 | [[package]] 3031 | name = "tauri-macros" 3032 | version = "1.4.4" 3033 | source = "registry+https://github.com/rust-lang/crates.io-index" 3034 | checksum = "6a582d75414250122e4a597b9dd7d3c910a2c77906648fc2ac9353845ff0feec" 3035 | dependencies = [ 3036 | "heck 0.5.0", 3037 | "proc-macro2", 3038 | "quote", 3039 | "syn 1.0.109", 3040 | "tauri-codegen", 3041 | "tauri-utils", 3042 | ] 3043 | 3044 | [[package]] 3045 | name = "tauri-runtime" 3046 | version = "0.14.3" 3047 | source = "registry+https://github.com/rust-lang/crates.io-index" 3048 | checksum = "cd7ffddf36d450791018e63a3ddf54979b9581d9644c584a5fb5611e6b5f20b4" 3049 | dependencies = [ 3050 | "gtk", 3051 | "http", 3052 | "http-range", 3053 | "rand 0.8.5", 3054 | "raw-window-handle", 3055 | "serde", 3056 | "serde_json", 3057 | "tauri-utils", 3058 | "thiserror", 3059 | "url", 3060 | "uuid", 3061 | "webview2-com", 3062 | "windows 0.39.0", 3063 | ] 3064 | 3065 | [[package]] 3066 | name = "tauri-runtime-wry" 3067 | version = "0.14.8" 3068 | source = "registry+https://github.com/rust-lang/crates.io-index" 3069 | checksum = "1989b3b4d611f5428b3414a4abae6fa6df30c7eb8ed33250ca90a5f7e5bb3655" 3070 | dependencies = [ 3071 | "cocoa", 3072 | "gtk", 3073 | "percent-encoding", 3074 | "rand 0.8.5", 3075 | "raw-window-handle", 3076 | "tauri-runtime", 3077 | "tauri-utils", 3078 | "uuid", 3079 | "webkit2gtk", 3080 | "webview2-com", 3081 | "windows 0.39.0", 3082 | "wry", 3083 | ] 3084 | 3085 | [[package]] 3086 | name = "tauri-utils" 3087 | version = "1.5.4" 3088 | source = "registry+https://github.com/rust-lang/crates.io-index" 3089 | checksum = "450b17a7102e5d46d4bdabae0d1590fd27953e704e691fc081f06c06d2253b35" 3090 | dependencies = [ 3091 | "brotli", 3092 | "ctor", 3093 | "dunce", 3094 | "glob", 3095 | "heck 0.5.0", 3096 | "html5ever", 3097 | "infer", 3098 | "json-patch", 3099 | "kuchikiki", 3100 | "log", 3101 | "memchr", 3102 | "phf 0.11.2", 3103 | "proc-macro2", 3104 | "quote", 3105 | "semver", 3106 | "serde", 3107 | "serde_json", 3108 | "serde_with", 3109 | "thiserror", 3110 | "url", 3111 | "walkdir", 3112 | "windows-version", 3113 | ] 3114 | 3115 | [[package]] 3116 | name = "tauri-winres" 3117 | version = "0.1.1" 3118 | source = "registry+https://github.com/rust-lang/crates.io-index" 3119 | checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" 3120 | dependencies = [ 3121 | "embed-resource", 3122 | "toml 0.7.8", 3123 | ] 3124 | 3125 | [[package]] 3126 | name = "tempfile" 3127 | version = "3.10.1" 3128 | source = "registry+https://github.com/rust-lang/crates.io-index" 3129 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 3130 | dependencies = [ 3131 | "cfg-if", 3132 | "fastrand", 3133 | "rustix", 3134 | "windows-sys 0.52.0", 3135 | ] 3136 | 3137 | [[package]] 3138 | name = "tendril" 3139 | version = "0.4.3" 3140 | source = "registry+https://github.com/rust-lang/crates.io-index" 3141 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 3142 | dependencies = [ 3143 | "futf", 3144 | "mac", 3145 | "utf-8", 3146 | ] 3147 | 3148 | [[package]] 3149 | name = "thin-slice" 3150 | version = "0.1.1" 3151 | source = "registry+https://github.com/rust-lang/crates.io-index" 3152 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 3153 | 3154 | [[package]] 3155 | name = "thiserror" 3156 | version = "1.0.61" 3157 | source = "registry+https://github.com/rust-lang/crates.io-index" 3158 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 3159 | dependencies = [ 3160 | "thiserror-impl", 3161 | ] 3162 | 3163 | [[package]] 3164 | name = "thiserror-impl" 3165 | version = "1.0.61" 3166 | source = "registry+https://github.com/rust-lang/crates.io-index" 3167 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 3168 | dependencies = [ 3169 | "proc-macro2", 3170 | "quote", 3171 | "syn 2.0.66", 3172 | ] 3173 | 3174 | [[package]] 3175 | name = "thread_local" 3176 | version = "1.1.8" 3177 | source = "registry+https://github.com/rust-lang/crates.io-index" 3178 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 3179 | dependencies = [ 3180 | "cfg-if", 3181 | "once_cell", 3182 | ] 3183 | 3184 | [[package]] 3185 | name = "time" 3186 | version = "0.3.36" 3187 | source = "registry+https://github.com/rust-lang/crates.io-index" 3188 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 3189 | dependencies = [ 3190 | "deranged", 3191 | "itoa 1.0.11", 3192 | "num-conv", 3193 | "powerfmt", 3194 | "serde", 3195 | "time-core", 3196 | "time-macros", 3197 | ] 3198 | 3199 | [[package]] 3200 | name = "time-core" 3201 | version = "0.1.2" 3202 | source = "registry+https://github.com/rust-lang/crates.io-index" 3203 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 3204 | 3205 | [[package]] 3206 | name = "time-macros" 3207 | version = "0.2.18" 3208 | source = "registry+https://github.com/rust-lang/crates.io-index" 3209 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 3210 | dependencies = [ 3211 | "num-conv", 3212 | "time-core", 3213 | ] 3214 | 3215 | [[package]] 3216 | name = "tinyvec" 3217 | version = "1.6.0" 3218 | source = "registry+https://github.com/rust-lang/crates.io-index" 3219 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 3220 | dependencies = [ 3221 | "tinyvec_macros", 3222 | ] 3223 | 3224 | [[package]] 3225 | name = "tinyvec_macros" 3226 | version = "0.1.1" 3227 | source = "registry+https://github.com/rust-lang/crates.io-index" 3228 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 3229 | 3230 | [[package]] 3231 | name = "tokio" 3232 | version = "1.38.0" 3233 | source = "registry+https://github.com/rust-lang/crates.io-index" 3234 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 3235 | dependencies = [ 3236 | "backtrace", 3237 | "bytes", 3238 | "libc", 3239 | "mio", 3240 | "num_cpus", 3241 | "pin-project-lite", 3242 | "socket2", 3243 | "windows-sys 0.48.0", 3244 | ] 3245 | 3246 | [[package]] 3247 | name = "tokio-native-tls" 3248 | version = "0.3.1" 3249 | source = "registry+https://github.com/rust-lang/crates.io-index" 3250 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 3251 | dependencies = [ 3252 | "native-tls", 3253 | "tokio", 3254 | ] 3255 | 3256 | [[package]] 3257 | name = "tokio-util" 3258 | version = "0.7.11" 3259 | source = "registry+https://github.com/rust-lang/crates.io-index" 3260 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 3261 | dependencies = [ 3262 | "bytes", 3263 | "futures-core", 3264 | "futures-sink", 3265 | "pin-project-lite", 3266 | "tokio", 3267 | ] 3268 | 3269 | [[package]] 3270 | name = "toml" 3271 | version = "0.5.11" 3272 | source = "registry+https://github.com/rust-lang/crates.io-index" 3273 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" 3274 | dependencies = [ 3275 | "serde", 3276 | ] 3277 | 3278 | [[package]] 3279 | name = "toml" 3280 | version = "0.7.8" 3281 | source = "registry+https://github.com/rust-lang/crates.io-index" 3282 | checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" 3283 | dependencies = [ 3284 | "serde", 3285 | "serde_spanned", 3286 | "toml_datetime", 3287 | "toml_edit 0.19.15", 3288 | ] 3289 | 3290 | [[package]] 3291 | name = "toml" 3292 | version = "0.8.13" 3293 | source = "registry+https://github.com/rust-lang/crates.io-index" 3294 | checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" 3295 | dependencies = [ 3296 | "serde", 3297 | "serde_spanned", 3298 | "toml_datetime", 3299 | "toml_edit 0.22.13", 3300 | ] 3301 | 3302 | [[package]] 3303 | name = "toml_datetime" 3304 | version = "0.6.6" 3305 | source = "registry+https://github.com/rust-lang/crates.io-index" 3306 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 3307 | dependencies = [ 3308 | "serde", 3309 | ] 3310 | 3311 | [[package]] 3312 | name = "toml_edit" 3313 | version = "0.19.15" 3314 | source = "registry+https://github.com/rust-lang/crates.io-index" 3315 | checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 3316 | dependencies = [ 3317 | "indexmap 2.2.6", 3318 | "serde", 3319 | "serde_spanned", 3320 | "toml_datetime", 3321 | "winnow 0.5.40", 3322 | ] 3323 | 3324 | [[package]] 3325 | name = "toml_edit" 3326 | version = "0.22.13" 3327 | source = "registry+https://github.com/rust-lang/crates.io-index" 3328 | checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" 3329 | dependencies = [ 3330 | "indexmap 2.2.6", 3331 | "serde", 3332 | "serde_spanned", 3333 | "toml_datetime", 3334 | "winnow 0.6.9", 3335 | ] 3336 | 3337 | [[package]] 3338 | name = "tower-service" 3339 | version = "0.3.2" 3340 | source = "registry+https://github.com/rust-lang/crates.io-index" 3341 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 3342 | 3343 | [[package]] 3344 | name = "tracing" 3345 | version = "0.1.40" 3346 | source = "registry+https://github.com/rust-lang/crates.io-index" 3347 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 3348 | dependencies = [ 3349 | "pin-project-lite", 3350 | "tracing-attributes", 3351 | "tracing-core", 3352 | ] 3353 | 3354 | [[package]] 3355 | name = "tracing-attributes" 3356 | version = "0.1.27" 3357 | source = "registry+https://github.com/rust-lang/crates.io-index" 3358 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 3359 | dependencies = [ 3360 | "proc-macro2", 3361 | "quote", 3362 | "syn 2.0.66", 3363 | ] 3364 | 3365 | [[package]] 3366 | name = "tracing-core" 3367 | version = "0.1.32" 3368 | source = "registry+https://github.com/rust-lang/crates.io-index" 3369 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 3370 | dependencies = [ 3371 | "once_cell", 3372 | "valuable", 3373 | ] 3374 | 3375 | [[package]] 3376 | name = "tracing-log" 3377 | version = "0.2.0" 3378 | source = "registry+https://github.com/rust-lang/crates.io-index" 3379 | checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 3380 | dependencies = [ 3381 | "log", 3382 | "once_cell", 3383 | "tracing-core", 3384 | ] 3385 | 3386 | [[package]] 3387 | name = "tracing-subscriber" 3388 | version = "0.3.18" 3389 | source = "registry+https://github.com/rust-lang/crates.io-index" 3390 | checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 3391 | dependencies = [ 3392 | "matchers", 3393 | "nu-ansi-term", 3394 | "once_cell", 3395 | "regex", 3396 | "sharded-slab", 3397 | "smallvec", 3398 | "thread_local", 3399 | "tracing", 3400 | "tracing-core", 3401 | "tracing-log", 3402 | ] 3403 | 3404 | [[package]] 3405 | name = "try-lock" 3406 | version = "0.2.5" 3407 | source = "registry+https://github.com/rust-lang/crates.io-index" 3408 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 3409 | 3410 | [[package]] 3411 | name = "typenum" 3412 | version = "1.17.0" 3413 | source = "registry+https://github.com/rust-lang/crates.io-index" 3414 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 3415 | 3416 | [[package]] 3417 | name = "unicode-bidi" 3418 | version = "0.3.15" 3419 | source = "registry+https://github.com/rust-lang/crates.io-index" 3420 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 3421 | 3422 | [[package]] 3423 | name = "unicode-ident" 3424 | version = "1.0.12" 3425 | source = "registry+https://github.com/rust-lang/crates.io-index" 3426 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 3427 | 3428 | [[package]] 3429 | name = "unicode-normalization" 3430 | version = "0.1.23" 3431 | source = "registry+https://github.com/rust-lang/crates.io-index" 3432 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 3433 | dependencies = [ 3434 | "tinyvec", 3435 | ] 3436 | 3437 | [[package]] 3438 | name = "unicode-segmentation" 3439 | version = "1.11.0" 3440 | source = "registry+https://github.com/rust-lang/crates.io-index" 3441 | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" 3442 | 3443 | [[package]] 3444 | name = "url" 3445 | version = "2.5.0" 3446 | source = "registry+https://github.com/rust-lang/crates.io-index" 3447 | checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 3448 | dependencies = [ 3449 | "form_urlencoded", 3450 | "idna", 3451 | "percent-encoding", 3452 | "serde", 3453 | ] 3454 | 3455 | [[package]] 3456 | name = "utf-8" 3457 | version = "0.7.6" 3458 | source = "registry+https://github.com/rust-lang/crates.io-index" 3459 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 3460 | 3461 | [[package]] 3462 | name = "uuid" 3463 | version = "1.8.0" 3464 | source = "registry+https://github.com/rust-lang/crates.io-index" 3465 | checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 3466 | dependencies = [ 3467 | "getrandom 0.2.15", 3468 | ] 3469 | 3470 | [[package]] 3471 | name = "valuable" 3472 | version = "0.1.0" 3473 | source = "registry+https://github.com/rust-lang/crates.io-index" 3474 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 3475 | 3476 | [[package]] 3477 | name = "vcpkg" 3478 | version = "0.2.15" 3479 | source = "registry+https://github.com/rust-lang/crates.io-index" 3480 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 3481 | 3482 | [[package]] 3483 | name = "version-compare" 3484 | version = "0.0.11" 3485 | source = "registry+https://github.com/rust-lang/crates.io-index" 3486 | checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" 3487 | 3488 | [[package]] 3489 | name = "version-compare" 3490 | version = "0.2.0" 3491 | source = "registry+https://github.com/rust-lang/crates.io-index" 3492 | checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" 3493 | 3494 | [[package]] 3495 | name = "version_check" 3496 | version = "0.9.4" 3497 | source = "registry+https://github.com/rust-lang/crates.io-index" 3498 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3499 | 3500 | [[package]] 3501 | name = "vswhom" 3502 | version = "0.1.0" 3503 | source = "registry+https://github.com/rust-lang/crates.io-index" 3504 | checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" 3505 | dependencies = [ 3506 | "libc", 3507 | "vswhom-sys", 3508 | ] 3509 | 3510 | [[package]] 3511 | name = "vswhom-sys" 3512 | version = "0.1.2" 3513 | source = "registry+https://github.com/rust-lang/crates.io-index" 3514 | checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" 3515 | dependencies = [ 3516 | "cc", 3517 | "libc", 3518 | ] 3519 | 3520 | [[package]] 3521 | name = "walkdir" 3522 | version = "2.5.0" 3523 | source = "registry+https://github.com/rust-lang/crates.io-index" 3524 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 3525 | dependencies = [ 3526 | "same-file", 3527 | "winapi-util", 3528 | ] 3529 | 3530 | [[package]] 3531 | name = "want" 3532 | version = "0.3.1" 3533 | source = "registry+https://github.com/rust-lang/crates.io-index" 3534 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 3535 | dependencies = [ 3536 | "try-lock", 3537 | ] 3538 | 3539 | [[package]] 3540 | name = "wasi" 3541 | version = "0.9.0+wasi-snapshot-preview1" 3542 | source = "registry+https://github.com/rust-lang/crates.io-index" 3543 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 3544 | 3545 | [[package]] 3546 | name = "wasi" 3547 | version = "0.11.0+wasi-snapshot-preview1" 3548 | source = "registry+https://github.com/rust-lang/crates.io-index" 3549 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3550 | 3551 | [[package]] 3552 | name = "wasm-bindgen" 3553 | version = "0.2.92" 3554 | source = "registry+https://github.com/rust-lang/crates.io-index" 3555 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 3556 | dependencies = [ 3557 | "cfg-if", 3558 | "wasm-bindgen-macro", 3559 | ] 3560 | 3561 | [[package]] 3562 | name = "wasm-bindgen-backend" 3563 | version = "0.2.92" 3564 | source = "registry+https://github.com/rust-lang/crates.io-index" 3565 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 3566 | dependencies = [ 3567 | "bumpalo", 3568 | "log", 3569 | "once_cell", 3570 | "proc-macro2", 3571 | "quote", 3572 | "syn 2.0.66", 3573 | "wasm-bindgen-shared", 3574 | ] 3575 | 3576 | [[package]] 3577 | name = "wasm-bindgen-futures" 3578 | version = "0.4.42" 3579 | source = "registry+https://github.com/rust-lang/crates.io-index" 3580 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 3581 | dependencies = [ 3582 | "cfg-if", 3583 | "js-sys", 3584 | "wasm-bindgen", 3585 | "web-sys", 3586 | ] 3587 | 3588 | [[package]] 3589 | name = "wasm-bindgen-macro" 3590 | version = "0.2.92" 3591 | source = "registry+https://github.com/rust-lang/crates.io-index" 3592 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 3593 | dependencies = [ 3594 | "quote", 3595 | "wasm-bindgen-macro-support", 3596 | ] 3597 | 3598 | [[package]] 3599 | name = "wasm-bindgen-macro-support" 3600 | version = "0.2.92" 3601 | source = "registry+https://github.com/rust-lang/crates.io-index" 3602 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 3603 | dependencies = [ 3604 | "proc-macro2", 3605 | "quote", 3606 | "syn 2.0.66", 3607 | "wasm-bindgen-backend", 3608 | "wasm-bindgen-shared", 3609 | ] 3610 | 3611 | [[package]] 3612 | name = "wasm-bindgen-shared" 3613 | version = "0.2.92" 3614 | source = "registry+https://github.com/rust-lang/crates.io-index" 3615 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 3616 | 3617 | [[package]] 3618 | name = "wasm-streams" 3619 | version = "0.4.0" 3620 | source = "registry+https://github.com/rust-lang/crates.io-index" 3621 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" 3622 | dependencies = [ 3623 | "futures-util", 3624 | "js-sys", 3625 | "wasm-bindgen", 3626 | "wasm-bindgen-futures", 3627 | "web-sys", 3628 | ] 3629 | 3630 | [[package]] 3631 | name = "web-sys" 3632 | version = "0.3.69" 3633 | source = "registry+https://github.com/rust-lang/crates.io-index" 3634 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 3635 | dependencies = [ 3636 | "js-sys", 3637 | "wasm-bindgen", 3638 | ] 3639 | 3640 | [[package]] 3641 | name = "webkit2gtk" 3642 | version = "0.18.2" 3643 | source = "registry+https://github.com/rust-lang/crates.io-index" 3644 | checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" 3645 | dependencies = [ 3646 | "bitflags 1.3.2", 3647 | "cairo-rs", 3648 | "gdk", 3649 | "gdk-sys", 3650 | "gio", 3651 | "gio-sys", 3652 | "glib", 3653 | "glib-sys", 3654 | "gobject-sys", 3655 | "gtk", 3656 | "gtk-sys", 3657 | "javascriptcore-rs", 3658 | "libc", 3659 | "once_cell", 3660 | "soup2", 3661 | "webkit2gtk-sys", 3662 | ] 3663 | 3664 | [[package]] 3665 | name = "webkit2gtk-sys" 3666 | version = "0.18.0" 3667 | source = "registry+https://github.com/rust-lang/crates.io-index" 3668 | checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" 3669 | dependencies = [ 3670 | "atk-sys", 3671 | "bitflags 1.3.2", 3672 | "cairo-sys-rs", 3673 | "gdk-pixbuf-sys", 3674 | "gdk-sys", 3675 | "gio-sys", 3676 | "glib-sys", 3677 | "gobject-sys", 3678 | "gtk-sys", 3679 | "javascriptcore-rs-sys", 3680 | "libc", 3681 | "pango-sys", 3682 | "pkg-config", 3683 | "soup2-sys", 3684 | "system-deps 6.2.2", 3685 | ] 3686 | 3687 | [[package]] 3688 | name = "webview2-com" 3689 | version = "0.19.1" 3690 | source = "registry+https://github.com/rust-lang/crates.io-index" 3691 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 3692 | dependencies = [ 3693 | "webview2-com-macros", 3694 | "webview2-com-sys", 3695 | "windows 0.39.0", 3696 | "windows-implement", 3697 | ] 3698 | 3699 | [[package]] 3700 | name = "webview2-com-macros" 3701 | version = "0.6.0" 3702 | source = "registry+https://github.com/rust-lang/crates.io-index" 3703 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" 3704 | dependencies = [ 3705 | "proc-macro2", 3706 | "quote", 3707 | "syn 1.0.109", 3708 | ] 3709 | 3710 | [[package]] 3711 | name = "webview2-com-sys" 3712 | version = "0.19.0" 3713 | source = "registry+https://github.com/rust-lang/crates.io-index" 3714 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 3715 | dependencies = [ 3716 | "regex", 3717 | "serde", 3718 | "serde_json", 3719 | "thiserror", 3720 | "windows 0.39.0", 3721 | "windows-bindgen", 3722 | "windows-metadata", 3723 | ] 3724 | 3725 | [[package]] 3726 | name = "winapi" 3727 | version = "0.3.9" 3728 | source = "registry+https://github.com/rust-lang/crates.io-index" 3729 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3730 | dependencies = [ 3731 | "winapi-i686-pc-windows-gnu", 3732 | "winapi-x86_64-pc-windows-gnu", 3733 | ] 3734 | 3735 | [[package]] 3736 | name = "winapi-i686-pc-windows-gnu" 3737 | version = "0.4.0" 3738 | source = "registry+https://github.com/rust-lang/crates.io-index" 3739 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3740 | 3741 | [[package]] 3742 | name = "winapi-util" 3743 | version = "0.1.8" 3744 | source = "registry+https://github.com/rust-lang/crates.io-index" 3745 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" 3746 | dependencies = [ 3747 | "windows-sys 0.52.0", 3748 | ] 3749 | 3750 | [[package]] 3751 | name = "winapi-x86_64-pc-windows-gnu" 3752 | version = "0.4.0" 3753 | source = "registry+https://github.com/rust-lang/crates.io-index" 3754 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3755 | 3756 | [[package]] 3757 | name = "windows" 3758 | version = "0.39.0" 3759 | source = "registry+https://github.com/rust-lang/crates.io-index" 3760 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 3761 | dependencies = [ 3762 | "windows-implement", 3763 | "windows_aarch64_msvc 0.39.0", 3764 | "windows_i686_gnu 0.39.0", 3765 | "windows_i686_msvc 0.39.0", 3766 | "windows_x86_64_gnu 0.39.0", 3767 | "windows_x86_64_msvc 0.39.0", 3768 | ] 3769 | 3770 | [[package]] 3771 | name = "windows" 3772 | version = "0.48.0" 3773 | source = "registry+https://github.com/rust-lang/crates.io-index" 3774 | checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" 3775 | dependencies = [ 3776 | "windows-targets 0.48.5", 3777 | ] 3778 | 3779 | [[package]] 3780 | name = "windows-bindgen" 3781 | version = "0.39.0" 3782 | source = "registry+https://github.com/rust-lang/crates.io-index" 3783 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 3784 | dependencies = [ 3785 | "windows-metadata", 3786 | "windows-tokens", 3787 | ] 3788 | 3789 | [[package]] 3790 | name = "windows-core" 3791 | version = "0.52.0" 3792 | source = "registry+https://github.com/rust-lang/crates.io-index" 3793 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 3794 | dependencies = [ 3795 | "windows-targets 0.52.5", 3796 | ] 3797 | 3798 | [[package]] 3799 | name = "windows-implement" 3800 | version = "0.39.0" 3801 | source = "registry+https://github.com/rust-lang/crates.io-index" 3802 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 3803 | dependencies = [ 3804 | "syn 1.0.109", 3805 | "windows-tokens", 3806 | ] 3807 | 3808 | [[package]] 3809 | name = "windows-metadata" 3810 | version = "0.39.0" 3811 | source = "registry+https://github.com/rust-lang/crates.io-index" 3812 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 3813 | 3814 | [[package]] 3815 | name = "windows-sys" 3816 | version = "0.42.0" 3817 | source = "registry+https://github.com/rust-lang/crates.io-index" 3818 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 3819 | dependencies = [ 3820 | "windows_aarch64_gnullvm 0.42.2", 3821 | "windows_aarch64_msvc 0.42.2", 3822 | "windows_i686_gnu 0.42.2", 3823 | "windows_i686_msvc 0.42.2", 3824 | "windows_x86_64_gnu 0.42.2", 3825 | "windows_x86_64_gnullvm 0.42.2", 3826 | "windows_x86_64_msvc 0.42.2", 3827 | ] 3828 | 3829 | [[package]] 3830 | name = "windows-sys" 3831 | version = "0.48.0" 3832 | source = "registry+https://github.com/rust-lang/crates.io-index" 3833 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3834 | dependencies = [ 3835 | "windows-targets 0.48.5", 3836 | ] 3837 | 3838 | [[package]] 3839 | name = "windows-sys" 3840 | version = "0.52.0" 3841 | source = "registry+https://github.com/rust-lang/crates.io-index" 3842 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3843 | dependencies = [ 3844 | "windows-targets 0.52.5", 3845 | ] 3846 | 3847 | [[package]] 3848 | name = "windows-targets" 3849 | version = "0.48.5" 3850 | source = "registry+https://github.com/rust-lang/crates.io-index" 3851 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3852 | dependencies = [ 3853 | "windows_aarch64_gnullvm 0.48.5", 3854 | "windows_aarch64_msvc 0.48.5", 3855 | "windows_i686_gnu 0.48.5", 3856 | "windows_i686_msvc 0.48.5", 3857 | "windows_x86_64_gnu 0.48.5", 3858 | "windows_x86_64_gnullvm 0.48.5", 3859 | "windows_x86_64_msvc 0.48.5", 3860 | ] 3861 | 3862 | [[package]] 3863 | name = "windows-targets" 3864 | version = "0.52.5" 3865 | source = "registry+https://github.com/rust-lang/crates.io-index" 3866 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 3867 | dependencies = [ 3868 | "windows_aarch64_gnullvm 0.52.5", 3869 | "windows_aarch64_msvc 0.52.5", 3870 | "windows_i686_gnu 0.52.5", 3871 | "windows_i686_gnullvm", 3872 | "windows_i686_msvc 0.52.5", 3873 | "windows_x86_64_gnu 0.52.5", 3874 | "windows_x86_64_gnullvm 0.52.5", 3875 | "windows_x86_64_msvc 0.52.5", 3876 | ] 3877 | 3878 | [[package]] 3879 | name = "windows-tokens" 3880 | version = "0.39.0" 3881 | source = "registry+https://github.com/rust-lang/crates.io-index" 3882 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 3883 | 3884 | [[package]] 3885 | name = "windows-version" 3886 | version = "0.1.1" 3887 | source = "registry+https://github.com/rust-lang/crates.io-index" 3888 | checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" 3889 | dependencies = [ 3890 | "windows-targets 0.52.5", 3891 | ] 3892 | 3893 | [[package]] 3894 | name = "windows_aarch64_gnullvm" 3895 | version = "0.42.2" 3896 | source = "registry+https://github.com/rust-lang/crates.io-index" 3897 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 3898 | 3899 | [[package]] 3900 | name = "windows_aarch64_gnullvm" 3901 | version = "0.48.5" 3902 | source = "registry+https://github.com/rust-lang/crates.io-index" 3903 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3904 | 3905 | [[package]] 3906 | name = "windows_aarch64_gnullvm" 3907 | version = "0.52.5" 3908 | source = "registry+https://github.com/rust-lang/crates.io-index" 3909 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 3910 | 3911 | [[package]] 3912 | name = "windows_aarch64_msvc" 3913 | version = "0.39.0" 3914 | source = "registry+https://github.com/rust-lang/crates.io-index" 3915 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 3916 | 3917 | [[package]] 3918 | name = "windows_aarch64_msvc" 3919 | version = "0.42.2" 3920 | source = "registry+https://github.com/rust-lang/crates.io-index" 3921 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 3922 | 3923 | [[package]] 3924 | name = "windows_aarch64_msvc" 3925 | version = "0.48.5" 3926 | source = "registry+https://github.com/rust-lang/crates.io-index" 3927 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3928 | 3929 | [[package]] 3930 | name = "windows_aarch64_msvc" 3931 | version = "0.52.5" 3932 | source = "registry+https://github.com/rust-lang/crates.io-index" 3933 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 3934 | 3935 | [[package]] 3936 | name = "windows_i686_gnu" 3937 | version = "0.39.0" 3938 | source = "registry+https://github.com/rust-lang/crates.io-index" 3939 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 3940 | 3941 | [[package]] 3942 | name = "windows_i686_gnu" 3943 | version = "0.42.2" 3944 | source = "registry+https://github.com/rust-lang/crates.io-index" 3945 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 3946 | 3947 | [[package]] 3948 | name = "windows_i686_gnu" 3949 | version = "0.48.5" 3950 | source = "registry+https://github.com/rust-lang/crates.io-index" 3951 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3952 | 3953 | [[package]] 3954 | name = "windows_i686_gnu" 3955 | version = "0.52.5" 3956 | source = "registry+https://github.com/rust-lang/crates.io-index" 3957 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 3958 | 3959 | [[package]] 3960 | name = "windows_i686_gnullvm" 3961 | version = "0.52.5" 3962 | source = "registry+https://github.com/rust-lang/crates.io-index" 3963 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 3964 | 3965 | [[package]] 3966 | name = "windows_i686_msvc" 3967 | version = "0.39.0" 3968 | source = "registry+https://github.com/rust-lang/crates.io-index" 3969 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 3970 | 3971 | [[package]] 3972 | name = "windows_i686_msvc" 3973 | version = "0.42.2" 3974 | source = "registry+https://github.com/rust-lang/crates.io-index" 3975 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 3976 | 3977 | [[package]] 3978 | name = "windows_i686_msvc" 3979 | version = "0.48.5" 3980 | source = "registry+https://github.com/rust-lang/crates.io-index" 3981 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3982 | 3983 | [[package]] 3984 | name = "windows_i686_msvc" 3985 | version = "0.52.5" 3986 | source = "registry+https://github.com/rust-lang/crates.io-index" 3987 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 3988 | 3989 | [[package]] 3990 | name = "windows_x86_64_gnu" 3991 | version = "0.39.0" 3992 | source = "registry+https://github.com/rust-lang/crates.io-index" 3993 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 3994 | 3995 | [[package]] 3996 | name = "windows_x86_64_gnu" 3997 | version = "0.42.2" 3998 | source = "registry+https://github.com/rust-lang/crates.io-index" 3999 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 4000 | 4001 | [[package]] 4002 | name = "windows_x86_64_gnu" 4003 | version = "0.48.5" 4004 | source = "registry+https://github.com/rust-lang/crates.io-index" 4005 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4006 | 4007 | [[package]] 4008 | name = "windows_x86_64_gnu" 4009 | version = "0.52.5" 4010 | source = "registry+https://github.com/rust-lang/crates.io-index" 4011 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 4012 | 4013 | [[package]] 4014 | name = "windows_x86_64_gnullvm" 4015 | version = "0.42.2" 4016 | source = "registry+https://github.com/rust-lang/crates.io-index" 4017 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 4018 | 4019 | [[package]] 4020 | name = "windows_x86_64_gnullvm" 4021 | version = "0.48.5" 4022 | source = "registry+https://github.com/rust-lang/crates.io-index" 4023 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4024 | 4025 | [[package]] 4026 | name = "windows_x86_64_gnullvm" 4027 | version = "0.52.5" 4028 | source = "registry+https://github.com/rust-lang/crates.io-index" 4029 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 4030 | 4031 | [[package]] 4032 | name = "windows_x86_64_msvc" 4033 | version = "0.39.0" 4034 | source = "registry+https://github.com/rust-lang/crates.io-index" 4035 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 4036 | 4037 | [[package]] 4038 | name = "windows_x86_64_msvc" 4039 | version = "0.42.2" 4040 | source = "registry+https://github.com/rust-lang/crates.io-index" 4041 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 4042 | 4043 | [[package]] 4044 | name = "windows_x86_64_msvc" 4045 | version = "0.48.5" 4046 | source = "registry+https://github.com/rust-lang/crates.io-index" 4047 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 4048 | 4049 | [[package]] 4050 | name = "windows_x86_64_msvc" 4051 | version = "0.52.5" 4052 | source = "registry+https://github.com/rust-lang/crates.io-index" 4053 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 4054 | 4055 | [[package]] 4056 | name = "winnow" 4057 | version = "0.5.40" 4058 | source = "registry+https://github.com/rust-lang/crates.io-index" 4059 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 4060 | dependencies = [ 4061 | "memchr", 4062 | ] 4063 | 4064 | [[package]] 4065 | name = "winnow" 4066 | version = "0.6.9" 4067 | source = "registry+https://github.com/rust-lang/crates.io-index" 4068 | checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" 4069 | dependencies = [ 4070 | "memchr", 4071 | ] 4072 | 4073 | [[package]] 4074 | name = "winreg" 4075 | version = "0.50.0" 4076 | source = "registry+https://github.com/rust-lang/crates.io-index" 4077 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 4078 | dependencies = [ 4079 | "cfg-if", 4080 | "windows-sys 0.48.0", 4081 | ] 4082 | 4083 | [[package]] 4084 | name = "winreg" 4085 | version = "0.52.0" 4086 | source = "registry+https://github.com/rust-lang/crates.io-index" 4087 | checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" 4088 | dependencies = [ 4089 | "cfg-if", 4090 | "windows-sys 0.48.0", 4091 | ] 4092 | 4093 | [[package]] 4094 | name = "wry" 4095 | version = "0.24.10" 4096 | source = "registry+https://github.com/rust-lang/crates.io-index" 4097 | checksum = "00711278ed357350d44c749c286786ecac644e044e4da410d466212152383b45" 4098 | dependencies = [ 4099 | "base64 0.13.1", 4100 | "block", 4101 | "cocoa", 4102 | "core-graphics", 4103 | "crossbeam-channel", 4104 | "dunce", 4105 | "gdk", 4106 | "gio", 4107 | "glib", 4108 | "gtk", 4109 | "html5ever", 4110 | "http", 4111 | "kuchikiki", 4112 | "libc", 4113 | "log", 4114 | "objc", 4115 | "objc_id", 4116 | "once_cell", 4117 | "serde", 4118 | "serde_json", 4119 | "sha2", 4120 | "soup2", 4121 | "tao", 4122 | "thiserror", 4123 | "url", 4124 | "webkit2gtk", 4125 | "webkit2gtk-sys", 4126 | "webview2-com", 4127 | "windows 0.39.0", 4128 | "windows-implement", 4129 | ] 4130 | 4131 | [[package]] 4132 | name = "x11" 4133 | version = "2.21.0" 4134 | source = "registry+https://github.com/rust-lang/crates.io-index" 4135 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 4136 | dependencies = [ 4137 | "libc", 4138 | "pkg-config", 4139 | ] 4140 | 4141 | [[package]] 4142 | name = "x11-dl" 4143 | version = "2.21.0" 4144 | source = "registry+https://github.com/rust-lang/crates.io-index" 4145 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 4146 | dependencies = [ 4147 | "libc", 4148 | "once_cell", 4149 | "pkg-config", 4150 | ] 4151 | 4152 | [[package]] 4153 | name = "xattr" 4154 | version = "1.3.1" 4155 | source = "registry+https://github.com/rust-lang/crates.io-index" 4156 | checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" 4157 | dependencies = [ 4158 | "libc", 4159 | "linux-raw-sys", 4160 | "rustix", 4161 | ] 4162 | -------------------------------------------------------------------------------- /src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "bussinga" 3 | version = "0.0.1" 4 | description = "better than napture" 5 | authors = ["coding398"] 6 | edition = "2021" 7 | 8 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 9 | 10 | [build-dependencies] 11 | tauri-build = { version = "1", features = [] } 12 | 13 | [dependencies] 14 | tauri = { version = "1", features = [ "fs-read-file", "http-all", "window-hide", "window-start-dragging", "window-maximize", "window-minimize", "window-close", "window-unminimize", "window-unmaximize", "window-show", "shell-open"] } 15 | serde = { version = "1", features = ["derive"] } 16 | serde_json = "1" 17 | 18 | [features] 19 | # This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!! 20 | custom-protocol = ["tauri/custom-protocol"] 21 | -------------------------------------------------------------------------------- /src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /src-tauri/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingMASTER398/bussinga/76c9c7622c59829f1838b3ad396f49aedf9e3e3f/src-tauri/icon.ico -------------------------------------------------------------------------------- /src-tauri/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingMASTER398/bussinga/76c9c7622c59829f1838b3ad396f49aedf9e3e3f/src-tauri/icon.png -------------------------------------------------------------------------------- /src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command 5 | #[tauri::command] 6 | fn greet(name: &str) -> String { 7 | format!("Hello, {}! You've been greeted from Rust!", name) 8 | } 9 | 10 | fn main() { 11 | tauri::Builder::default() 12 | .invoke_handler(tauri::generate_handler![greet]) 13 | .run(tauri::generate_context!()) 14 | .expect("error while running tauri application"); 15 | } 16 | -------------------------------------------------------------------------------- /src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "devPath": "../src", 4 | "distDir": "../src", 5 | "withGlobalTauri": true 6 | }, 7 | "package": { 8 | "productName": "bussinga", 9 | "version": "0.0.0" 10 | }, 11 | "tauri": { 12 | "allowlist": { 13 | "all": false, 14 | "shell": { 15 | "all": false, 16 | "open": true 17 | }, 18 | "window": { 19 | "all": false, 20 | "close": true, 21 | "hide": true, 22 | "show": true, 23 | "maximize": true, 24 | "minimize": true, 25 | "unmaximize": true, 26 | "unminimize": true, 27 | "startDragging": true 28 | }, 29 | "fs": { 30 | "readFile": true 31 | }, 32 | "http": { 33 | "all": true, 34 | "request": true, 35 | "scope": ["https://**", "http://**"] 36 | } 37 | }, 38 | "windows": [ 39 | { 40 | "title": "bussinga", 41 | "width": 800, 42 | "height": 600, 43 | "userAgent": "bussinga (like Napture)", 44 | "decorations": false, 45 | "transparent": true 46 | } 47 | ], 48 | "security": { 49 | "csp": null 50 | }, 51 | "bundle": { 52 | "active": true, 53 | "targets": "all", 54 | "identifier": "sigma.bussinga", 55 | "icon": [ 56 | "icon.png", 57 | "icon.ico" 58 | ], 59 | "windows": { 60 | "webviewInstallMode": { 61 | "type": "downloadBootstrapper" 62 | } 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/bazinga.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingMASTER398/bussinga/76c9c7622c59829f1838b3ad396f49aedf9e3e3f/src/bazinga.jpg -------------------------------------------------------------------------------- /src/cssppparser.js: -------------------------------------------------------------------------------- 1 | // css plus plus 2 | const notClasses = [`body`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `div`, `p`, `ul`, `ol`, `li`, `div`, `button`, `hr`, `img`, `input`, `textarea`, `button`, `select`, `option`] 3 | 4 | function parseCSSPP(p){ 5 | if(p.includes(`/* bussinga! */`)) return p; 6 | 7 | p = CSSJSON.toJSON(p) 8 | 9 | console.log(p) 10 | 11 | for (const key in p.children) { 12 | if(!notClasses.includes(key)){ 13 | p.children["." + key] = p.children[key]; 14 | delete p.children[key]; 15 | } 16 | } 17 | 18 | let loop = (a)=>{ 19 | for (const key in a) { 20 | if(Object.keys(a[key].children).length > 0) loop(a[key].children); 21 | 22 | if(Object.keys(a[key].attributes).find((a)=>{ 23 | return ["direction", "gap", "align-items", "justify-content"].includes(a) 24 | })){ 25 | a[key].attributes["display"] = "flex" 26 | }else{ 27 | //a[key].attributes["width"] = "fit-content" 28 | //a[key].attributes["display"] = "inline-block" 29 | } 30 | 31 | let halveAttribs = ["padding","padding-left","padding-right","padding-top","padding-bottom", "margin", "margin-left", "margin-right", "margin-top", "margin-bottom"] 32 | halveAttribs.forEach((h)=>{ 33 | if(a[key].attributes[h] && !isNaN(Number(a[key].attributes[h].replace("px", "")))){ 34 | a[key].attributes[h] = (Number(a[key].attributes[h].replace("px", "")) / 2) + "px" 35 | } 36 | }) 37 | 38 | if(!isNaN(Number(a[key].attributes["gap"]))) a[key].attributes["gap"] += "px" 39 | a[key].attributes["margin"] ??= "3px" 40 | a[key].attributes["flex-direction"] = a[key].attributes["direction"] 41 | a[key].attributes["justify-content"] ??= a[key].attributes["align-items"] 42 | } 43 | } 44 | loop(p.children) 45 | 46 | p = CSSJSON.toCSS(p) 47 | return p; 48 | } -------------------------------------------------------------------------------- /src/htmlppparser.js: -------------------------------------------------------------------------------- 1 | // HTML++ parser 2 | // real 3 | 4 | async function parseHTMLPP(html, url, port){ 5 | // strip HTML comments because they fuck with the system 6 | html = html.replaceAll(/(?=/g, "") 7 | 8 | // first, we crawl for war crimes; 9 | 10 | //if(url.startsWith(`http://127.0.0.1`)) url = url.replace("http://127.0.0.1", "http://127.0.0.1:" + port) 11 | 12 | const goofy = ["meta", "link", "img", "input"]; 13 | /*let lua = [` 14 | local url = "example.com" 15 | local output = fetch({ 16 | url = "https://" .. url, 17 | method = "GET" 18 | }) 19 | print(output.status) 20 | --print(output.content) 21 | local cards = get("card", true) 22 | print(cards)`]*/ 23 | 24 | let lua = [], meta = [], icon = "./bazinga.jpg"; 25 | 26 | while(true){ 27 | if(typeof html == "string") html = html.split(""); 28 | 29 | let atrocity = ``, 30 | sigma = false, 31 | watchingForMadlads = false, 32 | needsToRedo = false, 33 | entireTag = ``; 34 | 35 | for (let i = 0; i < html.length; i++) { 36 | const e = html[i]; 37 | 38 | entireTag += e 39 | 40 | /*if(e == "=" && [ 41 | html[i - 4], 42 | html[i - 3], 43 | html[i - 2], 44 | html[i - 1] 45 | ].join("") == "href"){ 46 | let frfr = [] 47 | "https://".split("").forEach((e, ii) => { 48 | frfr.push(html[i + 2 + ii]) 49 | }); 50 | if(frfr.join("") != "https://") html[i + 1] += url; 51 | } 52 | if(e == "=" && [ 53 | html[i - 3], 54 | html[i - 2], 55 | html[i - 1] 56 | ].join("") == "src"){ 57 | let frfr = [] 58 | "https://".split("").forEach((e, ii) => { 59 | frfr.push(html[i + 2 + ii]) 60 | }); 61 | if(frfr.join("") != "https://") html[i + 1] += url; 62 | }*/ 63 | // sigma 64 | 65 | let gyatt = async function(html){ 66 | try{ 67 | if(atrocity == "meta"){ 68 | let name = entireTag.split("name=\"")[1].split("\"")[0], 69 | content = entireTag.split("content=\"")[1].split("\"")[0]; 70 | 71 | meta[name] = content 72 | } 73 | 74 | if(atrocity == "link" && entireTag.includes(`.css`)){ 75 | let href = entireTag.split("href=")[1].split("\"")[1]; 76 | if(!href.startsWith(`http`)){ 77 | href = url + "../" + href 78 | }; 79 | 80 | let cssContent = await ffetch(href, { 81 | responseType: http.ResponseType.Text 82 | }); 83 | 84 | cssContent = parseCSSPP(cssContent.data) 85 | 86 | html = html.join("").replace(`<${entireTag}`, "").split("") 87 | 88 | html[html.length - 1] += `` 89 | }else if(atrocity == "link"){ 90 | icon = entireTag.split("href=\"")[1].split("\"")[0]; 91 | console.log(icon) 92 | } 93 | 94 | if(atrocity == "script" && entireTag.includes(`.lua`)){ 95 | let href = entireTag.split("src=")[1].split("\"")[1]; 96 | if(!href.startsWith(`http`)){ 97 | href = url + "../" + href 98 | } 99 | 100 | let content = await ffetch(href, { 101 | responseType: http.ResponseType.Text 102 | }); 103 | 104 | html = html.join("").replace(`<${entireTag}`, "").split("") 105 | 106 | if(content.status == 200 && !lua.includes(content.data)) lua.push(content.data); 107 | } 108 | }catch(e){ 109 | console.log(e) 110 | } 111 | 112 | return html; 113 | } 114 | 115 | if(watchingForMadlads && e == "/" && html[i + 1] == ">"){ 116 | html[i + 1] += `` 117 | html.splice(i, 1) 118 | 119 | html = await gyatt(html); 120 | 121 | watchingForMadlads = false; 122 | sigma = false; 123 | atrocity = ``; 124 | needsToRedo = true; 125 | entireTag = ``; 126 | break; 127 | } 128 | if(watchingForMadlads && e == ">" && goofy.includes(atrocity) && html[i + 1] != "<" && html[i + 2] != "/"){ 129 | html[i] += `` 130 | 131 | html = await gyatt(html); 132 | 133 | watchingForMadlads = false; 134 | sigma = false; 135 | atrocity = ``; 136 | needsToRedo = true; 137 | entireTag = ``; 138 | 139 | break; 140 | }else if(watchingForMadlads && e == ">"){ 141 | html = await gyatt(html); 142 | 143 | watchingForMadlads = false; 144 | sigma = false; 145 | atrocity = ``; 146 | entireTag = ``; 147 | continue; 148 | } 149 | 150 | if(e == `<` && atrocity.length == 0 && !sigma){ 151 | sigma = true; 152 | entireTag = ``; 153 | continue; 154 | }else if(e == `<`){ 155 | html[i] = `!${e}!` 156 | throw new Error(`You did war crime (< tag <). So, like, your HTML is fucked man. Anyway, try to spot where the parser went wrong, we put some little exclamation marks around the war crime. have fun!!! ${html.join("")}`) 157 | } 158 | 159 | if(!sigma) continue; 160 | 161 | if(atrocity.length == 0 && e == " ") continue; 162 | if(e == " ") { // whar 163 | sigma = false; 164 | watchingForMadlads = true; 165 | continue; 166 | }; 167 | if(e == ">"){ 168 | watchingForMadlads = false; 169 | sigma = false; 170 | atrocity = ``; 171 | continue; 172 | } 173 | 174 | atrocity += e; 175 | } 176 | 177 | html = html.filter((a)=>a).join("") 178 | 179 | if(!needsToRedo) { 180 | break; 181 | }; 182 | } 183 | 184 | return { 185 | html: DOMPurify.sanitize(html), 186 | lua, 187 | title: html.match(new RegExp("(.*?)"))?.[1] || "website", 188 | meta, 189 | icon 190 | }; 191 | } -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | bussinga 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 |
141 |
142 |
143 | 144 |
145 |
146 |
147 |

dingle.it

148 |
149 |
150 | 151 |
152 |
153 | 154 |
155 |
156 | 157 |
158 |
159 | 160 |
161 |
162 | 163 |
164 |
165 |
166 | 167 | 170 | 171 |
172 |
173 | 174 | -------------------------------------------------------------------------------- /src/internalPages/index.css: -------------------------------------------------------------------------------- 1 | body{ 2 | padding: 10%; 3 | overflow: auto; 4 | box-sizing: border-box; 5 | padding-top: 48px; 6 | } 7 | hr{ 8 | width: 100px; 9 | } 10 | input{ 11 | max-width: 400px; 12 | width: 50%; 13 | } 14 | theme{ 15 | max-width: 400px; 16 | width: 50%; 17 | } 18 | 19 | img{ 20 | width: 200px; 21 | } -------------------------------------------------------------------------------- /src/internalPages/index.lua: -------------------------------------------------------------------------------- 1 | local themeSelect = get("theme") 2 | local dns = get("dns") 3 | local dnsFlush = get("dnsFlush") 4 | local newTabPage = get("newTabPage") 5 | 6 | themeSelect.set_value(__bussinga.getItem("theme")) 7 | dns.set_value(__bussinga.getItem("dns")) 8 | newTabPage.set_value(__bussinga.getItem("newTabPage")) 9 | 10 | themeSelect.on_input(function(selected) 11 | __bussinga.set_theme(selected) 12 | end) 13 | 14 | dns.on_submit(function(selected) 15 | __bussinga.set_dns(selected) 16 | get("dnsOK").set_content("Updated to " .. selected) 17 | end) 18 | 19 | newTabPage.on_submit(function(selected) 20 | __bussinga.set_newtab(selected) 21 | get("newTabPageOK").set_content("Updated to " .. selected) 22 | end) 23 | 24 | dnsFlush.on_click(function() 25 | __bussinga.flush_dns() 26 | dnsFlush.set_content("Done!") 27 | end) -------------------------------------------------------------------------------- /src/internalPages/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | bussinga! 5 | 6 | 7 | 8 | 9 | 10 |

Bussinga!

11 |
12 |
13 |

A WebX browser for everyone!

14 |

Bussinga is the next level up from Napture- built on Tauri and wasmoon, with tons of amazing new features!

15 | 22 |

This is a weekend project, and will probably be abandoned at some point, but is currently still under development :thumbsup:

23 |
24 | Still to come: 25 | 30 | 31 |
32 |

Settings

33 |
34 |
35 |

Theme: (browser pages will refresh)

36 | 47 |

48 | 49 | 50 |

New tab page:

51 | 52 |

53 | 54 | 55 |
56 |

Custom DNS: 57 |
Currently, this only changes it for buss://, more options coming soon :tm: 58 |

59 | 60 |

61 |
62 | 63 | 64 | 65 | 66 | 67 |
68 |
69 |

Notes for devs

70 |
71 |
72 |

IMPORTANT: Currently, if your app listens to a click or input event and calls "fetch" within that, please do not update any variables before you fetch! The current workaround to get the API to work involves running the function more than one, and this leads to recursion. I'm looking into a method to fix this, but for now, please update your sites.

73 |
74 |

Check for the bussinga browser with window.browser being set to "bussinga", or the user agent being "bussinga (like Napture)".

75 |

To take full advantage of CSS without any editing for compatibility, put "/* bussinga! */" anywhere in your CSS code. Base CSS styles will still be applied.

76 |
77 |

To test your local project, go to localhost://3000 or whatever port you're serving from.

78 |

79 | 80 | 81 | -------------------------------------------------------------------------------- /src/internalPages/welcome.html: -------------------------------------------------------------------------------- 1 |

Your bassinga version is outdated

2 |

pretty pleae update uwu :3

-------------------------------------------------------------------------------- /src/lua.js: -------------------------------------------------------------------------------- 1 | const factory = new wasmoon.LuaFactory() 2 | 3 | function isJson(str) { 4 | try { 5 | JSON.parse(str); 6 | } catch (e) { 7 | return false; 8 | } 9 | return true; 10 | } 11 | 12 | class luaEngine { 13 | constructor(frame, loc, q){ 14 | const doc = frame.contentWindow.document 15 | 16 | factory.createEngine({ 17 | injectObjects: true, 18 | traceAllocations: true 19 | }).then((r)=>{ 20 | this.lua = r; 21 | const lua = this.lua; 22 | 23 | if(loc.startsWith("bussinga://")){ 24 | this.lua.global.set('__bussinga', { 25 | getItem: (t)=>{ 26 | return localStorage.getItem(t) 27 | }, 28 | set_theme: (t)=>{ 29 | localStorage.setItem(`theme`, t) 30 | window.paintTheme() 31 | }, 32 | set_dns: (t)=>{ 33 | localStorage.setItem(`dns`, t) 34 | window.dnsProviders["buss:"] = new window.dnsLooker(t) 35 | window.preDomainCache() 36 | }, 37 | set_newtab: (t)=>{ 38 | localStorage.setItem(`newTabPage`, t) 39 | }, 40 | flush_dns: ()=>{ 41 | window.dnsCache = {} 42 | } 43 | }) 44 | } 45 | 46 | this.lua.global.set('window', { 47 | location: loc, 48 | query: q, 49 | browser: "bussinga" 50 | }) 51 | 52 | let fetchCache = [], waitingToCache = 0; 53 | 54 | function waitUntilCacheStored(){ 55 | return new Promise((r)=>{ 56 | let i = setInterval(()=>{ 57 | if(waitingToCache <= 0){ 58 | r(); 59 | clearInterval(i) 60 | } 61 | },0) 62 | }) 63 | } 64 | 65 | async function doSneaky(func, params){ 66 | try{ 67 | func(params) 68 | }catch(e){ 69 | if(String(e).includes(`C-call boundary`)){ 70 | console.log(`Workarounding... !! IF THIS LOOPS, YOU'VE HIT AN EDGE CASE. Please fetch your data at the start of the function, or outside of an on_click/on_* event.`) 71 | await waitUntilCacheStored() 72 | console.log("Cache ready") 73 | doSneaky(func, params) 74 | }else console.log(e) 75 | } 76 | } 77 | 78 | function getElem(c, recursive) { 79 | if(!c.tagName){ 80 | if(recursive){ 81 | let cs = [...doc.querySelectorAll(c), ...doc.querySelectorAll(`.` + c)].map((a)=>getElem(a)); 82 | 83 | return cs; 84 | } 85 | 86 | c = doc.querySelector(c) || doc.querySelector(`.` + c) 87 | if(!c) return null; 88 | } 89 | 90 | return { 91 | get_content: ()=>{ 92 | return c.value || c.checked || c.innerText 93 | }, 94 | get_contents: ()=>{ 95 | return c.value || c.checked || c.innerText 96 | }, 97 | get_href: ()=>{ 98 | return c.href 99 | }, 100 | get_source: ()=>{ 101 | return c.src 102 | }, 103 | get_opacity: ()=>{ 104 | return c.style.opacity 105 | }, 106 | get_css_name: ()=>{ 107 | return c.className || c.tagName 108 | }, 109 | set_content: (text)=>{ 110 | c.innerHTML = text 111 | }, 112 | set_contents: (text)=>{ 113 | c.innerHTML = text 114 | }, 115 | set_source: (src)=>{ 116 | c.src = src 117 | }, 118 | set_href: (text)=>{ 119 | c.href = text 120 | }, 121 | set_opacity: (text)=>{ 122 | c.style.opacity = text 123 | }, 124 | set_value: (text)=>{ 125 | c.value = text 126 | }, 127 | on_click: (f) => { 128 | c.addEventListener("click", ()=>{ 129 | doSneaky(f) 130 | }) 131 | }, 132 | on_submit: (f) => { 133 | c.addEventListener(`submit`, async()=>{ 134 | //await lua.global.get("async")(f)(c.value || c.checked) 135 | doSneaky(f, c.value || c.checked) 136 | }) 137 | c.addEventListener(`keyup`, async(e)=>{ 138 | //await lua.global.get("async")(f)(c.value || c.checked) 139 | if(e.key == "Enter") doSneaky(f, c.value || c.checked) 140 | }) 141 | }, 142 | on_input: (f) => { 143 | c.addEventListener(`keyup`, ()=>{ 144 | f(c.value || c.checked) 145 | }) 146 | c.addEventListener(`change`, ()=>{ 147 | f(c.value || c.checked) 148 | }) 149 | } 150 | } 151 | } 152 | 153 | this.lua.global.set('__bussingaget', getElem) 154 | 155 | this.lua.global.set('print', (t)=>console.log(t)) 156 | 157 | this.lua.global.set('__bussingafetch', (opts) => { 158 | let found = fetchCache.find((e)=>e.input == JSON.stringify(opts)) 159 | 160 | if(found){ 161 | return found.output; 162 | } 163 | 164 | return new Promise(async(res)=>{ 165 | try{ 166 | waitingToCache++; 167 | 168 | //if(opts.body && !opts?.METHOD || opts?.METHOD != "GET") opts.body = undefined; 169 | 170 | if(opts.body) { 171 | if(isJson(opts.body)){ 172 | opts.body = new window.http.Body("Json", typeof opts.body == "string" ? JSON.parse(opts.body) : opts.body) 173 | }else{ 174 | opts.body = new window.http.Body("Text", opts.body.toString()) 175 | } 176 | } 177 | 178 | let out = await ffetch(opts.url, { 179 | ...opts, 180 | responseType: http.ResponseType.Text 181 | }), isJSON = isJson(out.data) 182 | 183 | let output = isJSON ? 184 | JSON.parse(out.data) 185 | : { 186 | body: out.data, 187 | content: out.data, 188 | status: out.status, 189 | data: out.data, 190 | json: ()=>{ 191 | return JSON.parse(out.content) 192 | }, 193 | text: ()=>{ 194 | return out.data 195 | } 196 | } 197 | 198 | if(isJSON && Array.isArray(output)){ 199 | //output.unshift(0) 200 | } 201 | 202 | waitingToCache--; 203 | fetchCache.push({ 204 | input: JSON.stringify(opts), 205 | output: output 206 | }) 207 | 208 | res(output) 209 | }catch(e){ 210 | console.error(e) 211 | waitingToCache--; 212 | res(null) 213 | } 214 | }) 215 | }) 216 | }) 217 | } 218 | run(text){ 219 | this.lua.doString(` 220 | function upvalues() 221 | local variables = {} 222 | local idx = 1 223 | local func = debug.getinfo(0, "f").func 224 | while true do 225 | local ln, lv = debug.getupvalue(func, idx) 226 | if ln ~= nil then 227 | variables[ln] = lv 228 | else 229 | break 230 | end 231 | idx = 1 + idx 232 | end 233 | return variables 234 | end 235 | function __is_array(table) 236 | if type(table) ~= 'table' then 237 | return false 238 | end 239 | 240 | -- objects always return empty size 241 | if #table > 0 then 242 | return true 243 | end 244 | 245 | -- only object can have empty length with elements inside 246 | for k, v in pairs(table) do 247 | return false 248 | end 249 | 250 | -- if no elements it can be array and not at same time 251 | return true 252 | end 253 | 254 | function fetch(...) 255 | local got = __bussingafetch(...) 256 | 257 | if(got.await) then 258 | got = __bussingafetch(...):await() 259 | end 260 | 261 | if(got[1]) then 262 | local bards = {} 263 | for i = 1, got.length do 264 | table.insert(bards, got[i]) 265 | end 266 | return bards 267 | end 268 | 269 | print(got) 270 | 271 | return got 272 | end 273 | function get(...) 274 | local got = __bussingaget(...) 275 | if(got.length == nil) then 276 | return got 277 | end 278 | 279 | local bards = {} 280 | for i = 1, got.length do 281 | table.insert(bards, got[i]) 282 | end 283 | 284 | return bards 285 | end 286 | ${text}`) 287 | } 288 | } -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | let THEME; 2 | 3 | window.dnsCache = {} 4 | 5 | if(!localStorage.getItem(`dns`)) localStorage.setItem(`dns`, `https://api.buss.lol/domain`); 6 | if(!localStorage.getItem(`newTabPage`)) localStorage.setItem(`newTabPage`, `buss://dingle.it`); 7 | 8 | // Init window whatever 9 | const appWindow = __TAURI__.window.appWindow, 10 | http = __TAURI__.http 11 | 12 | window.http = http; 13 | window.ffetch = http.fetch; 14 | 15 | document 16 | .getElementById('titlebar-minimize') 17 | .addEventListener('click', () => appWindow.minimize()) 18 | document 19 | .getElementById('titlebar-maximize') 20 | .addEventListener('click', () => appWindow.toggleMaximize()) 21 | document 22 | .getElementById('titlebar-close') 23 | .addEventListener('click', () => appWindow.close()); 24 | 25 | function isFullScreen(){ 26 | return appWindow.isMaximized() || appWindow.isFullScreen(); 27 | } 28 | 29 | window.addEventListener(`resize`, ()=>{ 30 | setTimeout(async()=>{ 31 | if(await isFullScreen()){ 32 | document.getElementById(`fullScreenIcon`).className = "bx bx-exit-fullscreen" 33 | }else document.getElementById(`fullScreenIcon`).className = "bx bx-fullscreen" 34 | },10) 35 | }) 36 | 37 | // Init themes 38 | let themeConfig; 39 | async function paintTheme(reloadAll = true){ 40 | if(!localStorage.getItem("theme")) localStorage.setItem("theme", "classic"); 41 | THEME = localStorage.getItem("theme") 42 | 43 | themeConfig = window.themes[THEME] 44 | window.themeConfig = themeConfig; 45 | 46 | document.documentElement.style = `` 47 | for (const key in themeConfig) { 48 | document.documentElement.style.setProperty('--' + key, themeConfig[key]) 49 | } 50 | 51 | if(!reloadAll) return; 52 | ;[...document.querySelectorAll(`iframe`)].reverse().forEach((i)=>{ 53 | i.c.refresh(); 54 | }) 55 | } 56 | paintTheme(false); 57 | window.paintTheme = paintTheme; 58 | 59 | // alright actual website stuff now 60 | function getRawGithubIndexUrl(githubUrl) { 61 | // Extract username and repo name from the URL 62 | const [username, repoName] = githubUrl.replace(`https://github.com/`, ``).split("/"); 63 | 64 | // Return the transformed URL for raw content 65 | return `https://raw.githubusercontent.com/${username}/${repoName}/main/index.html`; 66 | } 67 | 68 | function traverse(o,func) { 69 | for (var i in o) { 70 | func.apply(this,[i,o[i]]); 71 | if (o[i] !== null && typeof(o[i])=="object") { 72 | //going one step down in the object tree!! 73 | traverse(o[i],func); 74 | } 75 | } 76 | } 77 | 78 | function preDomainCache(){ 79 | return; // at the time of writing, https://api.buss.lol/domains is down, so I can't make this feature 80 | 81 | ffetch(new URI(localStorage.getItem(`dns`) + `/../domains`).normalize().toString()).then((r)=>{ 82 | console.log(r) 83 | }) 84 | } 85 | 86 | preDomainCache(); 87 | 88 | window.preDomainCache = preDomainCache; 89 | window.currentTabID = 0; 90 | window.tabs = [] 91 | 92 | class dnsLooker { 93 | constructor(url){ 94 | this.url = url; 95 | } 96 | 97 | lookup(siteName, tld){ 98 | return new Promise((resolve, reject)=>{ 99 | ffetch(`${this.url}/${siteName}/${tld}`).then((r)=>{ 100 | console.log(r) 101 | switch(r.status){ 102 | case 200: 103 | resolve(r.data) 104 | break; 105 | case 404: 106 | reject({ 107 | title: `Not Found`, 108 | text: `${siteName}.${tld} doesn't exist.` 109 | }) 110 | break; 111 | default: 112 | reject({ 113 | title: `DNS Error`, 114 | text: `Returned ${r.status}, body ${r.data}` 115 | }) 116 | break; 117 | } 118 | }).catch((e)=>{ 119 | reject({ 120 | title: `Internal DNS Error`, 121 | text: e 122 | }) 123 | }) 124 | }) 125 | } 126 | } 127 | 128 | window.dnsLooker = dnsLooker; 129 | 130 | class site { 131 | constructor(url, id){ 132 | this.iframe = document.createElement(`iframe`) 133 | this.iframe.setAttribute(`sandbox`, `allow-same-origin allow-scripts`) 134 | 135 | const tabID = id || ++currentTabID 136 | 137 | this.tabID = tabID 138 | this.iframe.c = this; 139 | this.iframe.style.display = "none" 140 | 141 | this.iframe.setAttribute(`tabID`, tabID) 142 | tabs.push(tabID) 143 | 144 | document.querySelector(`#contents`).appendChild(this.iframe); 145 | 146 | this.navigateID = 0; 147 | this.navigate(url); 148 | } 149 | navigate(url){ 150 | let thisNavigateID = ++this.navigateID; 151 | 152 | this.iframe.contentWindow.document.close(); 153 | this.iframe.setAttribute(`title`, "bussinga!") 154 | this.iframe.setAttribute(`image`, "") 155 | this.iframe.setAttribute(`location`, url) 156 | 157 | uiRefresh(); 158 | if(selectedTab == this.tabID) document.querySelector(`#search`).value = url; 159 | 160 | if(!url) return; 161 | 162 | // Get info about the domain 163 | this.urlParsed = new URI(url) 164 | this.tld = this.urlParsed.tld(); 165 | this.siteName = this.urlParsed.domain().split(".").slice(0,-1).join("."); 166 | this.protocol = this.urlParsed.protocol(); 167 | 168 | // Init page 169 | this.doc = this.iframe.contentWindow.document; 170 | this.doc.open(); 171 | 172 | // Init LUA 173 | this.lua = new luaEngine(this.iframe, url, Object.fromEntries(new URLSearchParams(this.urlParsed.search()))) 174 | 175 | // after DNS lookup 176 | let finishUp = ()=>{ 177 | this.doc = this.iframe.contentWindow.document; 178 | 179 | let injected = ` 180 | /* injected by bussinga */ 181 | @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Varela+Round&display=swap'); 182 | *{box-sizing: border-box;} 183 | .query{height:fit-content !important} 184 | body{ 185 | width:100vw; 186 | height:100vh; 187 | font-family: ${themeConfig["font"]}; 188 | padding: 12px; 189 | margin: 0 !important; 190 | } 191 | img{ 192 | width: fit-content; 193 | } 194 | *{flex-shrink:0;} 195 | hr{ 196 | width: 100%; 197 | } 198 | h1,h2,h3,h4,h5,h6,p,a{ 199 | margin: 3px; 200 | } 201 | a{ 202 | color: ${themeConfig["link"]}; 203 | text-decoration: none; 204 | } 205 | p, a, select{ 206 | font-size: x-small; 207 | } 208 | button, input, select, option{ 209 | background-color: ${themeConfig["button"]}; 210 | font-family: ${themeConfig["font"]}; 211 | transition: 0.2s; 212 | color: ${themeConfig["text1"]}; 213 | border: none; 214 | border-radius: 6px; 215 | padding: 18px; 216 | padding-top: 12px; 217 | padding-bottom: 12px; 218 | } 219 | select, option{ 220 | color:${themeConfig["text2"]}; 221 | margin: 0; 222 | padding-top: 8px; 223 | padding-bottom: 8px; 224 | outline: none; 225 | } 226 | input{ 227 | box-shadow: 0 0 3px black inset; 228 | } 229 | button:hover{ 230 | background-color: ${themeConfig["highlight"]}; 231 | transition: 0.2s; 232 | } 233 | hr{ 234 | border: none; 235 | border-bottom: 1px solid ${themeConfig["text1"]}; 236 | } 237 | body{ 238 | background-color: ${themeConfig["background"]}; 239 | color: ${themeConfig["text1"]}; 240 | }`, 241 | injectedElement = document.createElement(`style`); 242 | 243 | injectedElement.innerHTML = injected 244 | 245 | this.doc.head.prepend(injectedElement) 246 | 247 | if(!this.doc.body.firstChild.tagName){ 248 | this.doc.body.firstChild.remove(); 249 | } 250 | 251 | this.iframe.contentWindow.addEventListener(`click`, (e)=>{ 252 | if(e.target?.href?.startsWith("buss://")){ 253 | this.navigate(e.target.href) 254 | } 255 | }) 256 | 257 | uiRefresh(); 258 | } 259 | 260 | let showError = (e)=>{ 261 | if(this.navigateID != thisNavigateID) return; 262 | 263 | this.doc.write(` 268 | Error 269 | 270 |

${e.title}

271 |

${String(e.text).replace(/&/g, '&') 272 | .replace(//g, '>') 274 | .replace(/"/g, '"') 275 | .replace(/'/g, ''')}

`) 276 | 277 | finishUp(); 278 | uiRefresh(); 279 | } 280 | 281 | // DNS lookup 282 | console.log(`DNS lookup...`) 283 | 284 | this.iframe.setAttribute(`title`, `DNS lookup...`) 285 | uiRefresh() 286 | 287 | ;(async()=>{ 288 | let IP; 289 | 290 | try{ 291 | IP = await window.domains.lookup(this.siteName, this.tld, this.protocol); 292 | IP = IP.ip; 293 | }catch{ 294 | showError({ 295 | title: `Not Found`, 296 | text: `${url} doesn't exist.` 297 | }) 298 | return; 299 | } 300 | 301 | if(IP.startsWith(`https://github.com/`)){ 302 | IP = getRawGithubIndexUrl(IP) 303 | } 304 | 305 | console.log(`DNS lookup done`) 306 | 307 | this.iframe.setAttribute(`title`, "Loading...") 308 | uiRefresh() 309 | 310 | ffetch(IP, { 311 | method: "GET", 312 | responseType: http.ResponseType.Text 313 | }).then(async (r)=>{ 314 | if(this.navigateID != thisNavigateID) return; 315 | 316 | if(String(r.status).startsWith(`5`)){ 317 | showError({ 318 | title: `Website error`, 319 | text: `The WebX site you're navigating to returned a 5xx error code: ${r.status}. This is simply unacceptable, thus I refuse to render it.` 320 | }) 321 | return; 322 | } 323 | 324 | console.log(`Website fetch done...`) 325 | try{ 326 | let parsedIP = new URI(IP + "/"), 327 | parsed = await parseHTMLPP(r.data, parsedIP.setSearch("").normalize().toString(), parsedIP.port()); 328 | 329 | this.doc.write(parsed.html) 330 | 331 | this.iframe.setAttribute(`title`, parsed.title) 332 | this.iframe.setAttribute(`image`, parsed.icon) 333 | 334 | finishUp(); 335 | 336 | parsed.lua.forEach((l)=>{ 337 | this.lua.run(l) 338 | }) 339 | 340 | uiRefresh(); 341 | }catch(e){ 342 | showError({ 343 | title: "HTML parsing error", 344 | text: e 345 | }) 346 | } 347 | }) 348 | })() 349 | } 350 | refresh(){ 351 | this.navigate(this.iframe.getAttribute(`location`)) 352 | } 353 | close(){ 354 | try{ 355 | window.tabs = window.tabs.filter((i) => i != this.tabID); 356 | this.iframe.remove(); 357 | uiRefresh() 358 | 359 | }catch(e){ 360 | console.log(e) 361 | } 362 | } 363 | } 364 | 365 | window.site = site; 366 | 367 | let dnsProviders = { 368 | "bussinga": { 369 | lookup: (url, tld)=>{ 370 | console.log(url, tld) 371 | return new Promise((res,rej)=>{ 372 | if(tld != "bang" || !["settings"].includes(url)) rej(); 373 | res({ 374 | ip: `https://bussingah.pages.dev/${url}.html`, 375 | //ip: `http://127.0.0.1:1430/internalPages/${url}.html` 376 | }) 377 | }) 378 | } 379 | }, 380 | "localhost": { 381 | lookup: (url, tld)=>{ 382 | return new Promise((res,rej)=>{ 383 | res({ 384 | ip: `http://127.0.0.1:${url}/index.html` 385 | }) 386 | }) 387 | } 388 | }, 389 | "buss": new dnsLooker(localStorage.getItem(`dns`)) 390 | } 391 | window.dnsProviders = dnsProviders; 392 | 393 | window.domains = { 394 | lookup: (url, tld, protocol)=>{ 395 | if(!isNaN(Number(tld)) && protocol == "localhost") url = tld; 396 | 397 | return new Promise((res, rej)=>{ 398 | if(window.dnsCache[`${url}|.|${tld}|.|${protocol}`]){ 399 | res(window.dnsCache[`${url}|.|${tld}|.|${protocol}`]); 400 | } 401 | 402 | if(dnsProviders[protocol]){ 403 | dnsProviders[protocol].lookup(url, tld).then((r)=>{ 404 | window.dnsCache[`${url}|.|${tld}|.|${protocol}`] = r; 405 | res(r) 406 | }).catch(rej); 407 | } 408 | else rej(); 409 | }) 410 | 411 | return; 412 | return new Promise(async(res, rej)=>{ 413 | for (let i = 0; i < dnsProviders.length; i++) { 414 | try{ 415 | res(await dnsProviders[i].lookup(url, tld)); 416 | }catch{} 417 | } 418 | 419 | rej() 420 | }) 421 | } 422 | } 423 | 424 | uiRefresh(); 425 | 426 | //new site("buss://dnssearch.uwu") 427 | //new site("buss://yap.yap?dingle=it") 428 | //new site("buss://minesweeper.lol") 429 | //new site("buss://blackjack.lol") 430 | //new site("bussinga://welcome") -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Varela+Round&display=swap'); 2 | 3 | body{ 4 | background-color: transparent; 5 | margin: 0; 6 | color: var(--text1); 7 | font-family: var(--font); 8 | } 9 | 10 | .titlebar { 11 | height: 30px; 12 | background: var(--titlebar); 13 | user-select: none; 14 | display: flex; 15 | justify-content: flex-end; 16 | position: fixed; 17 | top: 0; 18 | left: 0; 19 | right: 0; 20 | border-top-left-radius: 3px; 21 | border-top-right-radius: 3px; 22 | } 23 | .titlebar-button { 24 | display: inline-flex; 25 | justify-content: center; 26 | align-items: center; 27 | width: 30px; 28 | height: 30px; 29 | border-radius: 3px; 30 | } 31 | .titlebar-button:hover { 32 | background: var(--highlight); 33 | } 34 | .titlebar .rightActions{ 35 | background-color: var(--tab); 36 | border-top-left-radius: 3px; 37 | border-top-right-radius: 3px; 38 | 39 | cursor: pointer; 40 | } 41 | .titlebar .leftActions{ 42 | position: absolute; 43 | top: 0; 44 | left: 0; 45 | width: calc(100% - 130px); 46 | height: 30px; 47 | 48 | display: flex; 49 | flex-direction: row-reverse; 50 | justify-content: flex-end; 51 | gap: 3px; 52 | } 53 | .tab, .newTab{ 54 | position: relative; 55 | width: 100%; 56 | max-width: 200px; 57 | background-color: var(--tab); 58 | height: 30px; 59 | border-top-left-radius: 3px; 60 | border-top-right-radius: 3px; 61 | box-shadow: 6px 0 3px rgba(0,0,0,0.1); 62 | 63 | display: flex; 64 | 65 | align-items: center; 66 | box-sizing: border-box; 67 | padding-left: 8px; 68 | padding-right: 8px; 69 | 70 | font-family: var(--font); 71 | font-weight: 300; 72 | font-size: small; 73 | 74 | gap: 8px; 75 | 76 | text-overflow: ellipsis; 77 | overflow: hidden; 78 | white-space: nowrap; 79 | 80 | cursor: pointer; 81 | } 82 | .tab.selected{ 83 | background-color: var(--highlight); 84 | } 85 | .tab button{ 86 | position: absolute; 87 | right: 0; 88 | top: 50%; 89 | transform: translate(0, -50%); 90 | aspect-ratio: 1/1; 91 | height: 100%; 92 | 93 | display: flex; 94 | align-items: center; 95 | justify-content: center; 96 | background-color: var(--tab); 97 | border: none; 98 | 99 | color: var(--text1); 100 | border-top-right-radius: 3px; 101 | opacity: 0; 102 | transition: 0.1s; 103 | cursor: pointer; 104 | } 105 | .tab:hover button{ 106 | opacity: 1; 107 | transition: 0.1s; 108 | } 109 | .newTab{ 110 | max-width: 30px; 111 | } 112 | .tab p{ 113 | background-color: transparent; 114 | box-shadow: none; 115 | } 116 | .tab .image{ 117 | height: 70%; 118 | aspect-ratio: 1/1; 119 | 120 | background-size: contain; 121 | background-position: center; 122 | border-radius: 2px; 123 | } 124 | 125 | #searchBar{ 126 | position: absolute; 127 | top: 30px; 128 | width: 100%; 129 | height: 30px; 130 | 131 | background: var(--searchBar); 132 | box-shadow: 0 -5px 5px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.1); 133 | display: flex; 134 | align-items: center; 135 | gap: 3px; 136 | 137 | box-sizing: border-box; 138 | padding-left: 6px; 139 | padding-right: 6px; 140 | 141 | z-index: 999; 142 | } 143 | #searchBar input{ 144 | width: 70%; 145 | box-sizing: border-box; 146 | padding-left: 12px; 147 | font-weight: 300; 148 | } 149 | #searchBar input, #searchBar button{ 150 | background-color: transparent; 151 | box-shadow: 0 0 5px rgba(0,0,0,0.5) inset; 152 | border: none; 153 | height: 80%; 154 | border-radius: 3px; 155 | outline: none; 156 | color: var(--text1); 157 | } 158 | 159 | #contents{ 160 | position: absolute; 161 | width: 100vw; 162 | height: calc(100vh - 60px); 163 | background-color: white; 164 | 165 | top: 60px; 166 | background: var(--titlebar); 167 | border-bottom-left-radius: 3px; 168 | border-bottom-right-radius: 3px; 169 | } 170 | #contents iframe{ 171 | width: 100%; 172 | height: 100%; 173 | margin: 0; 174 | border: none; 175 | } 176 | 177 | button{ 178 | cursor: pointer; 179 | } -------------------------------------------------------------------------------- /src/ui.js: -------------------------------------------------------------------------------- 1 | let selectedTab = 1; 2 | window.selectedTab = selectedTab 3 | 4 | function uiRefresh(){ 5 | let tabIsSelected = false; 6 | 7 | document.querySelector(`.leftActions`).innerHTML = `
8 | 9 |
` 10 | 11 | ;[...document.querySelectorAll(`iframe`)].reverse().forEach((i)=>{ 12 | let tabElement = document.createElement(`div`) 13 | tabElement.classList.add(`tab`) 14 | 15 | let image = document.createElement(`div`) 16 | image.classList.add(`image`) 17 | image.style = "background-image: url("+i.getAttribute("image")+");" 18 | 19 | let title = document.createElement(`p`) 20 | title.innerText = i.getAttribute("title") 21 | 22 | let closeBtn = document.createElement(`button`) 23 | closeBtn.innerHTML = `` 24 | 25 | tabElement.appendChild(image) 26 | tabElement.appendChild(title) 27 | tabElement.appendChild(closeBtn) 28 | document.querySelector(`.leftActions`).appendChild(tabElement) 29 | 30 | if(i.getAttribute("tabID") == selectedTab) { 31 | i.style.display = "block" 32 | tabIsSelected = true 33 | tabElement.classList.add(`selected`) 34 | } else i.style.display = "none"; 35 | 36 | tabElement.addEventListener(`click`, ()=>{ 37 | selectedTab = i.getAttribute("tabID") 38 | document.querySelector(`#search`).value = i.getAttribute("location") 39 | uiRefresh(); 40 | }) 41 | closeBtn.addEventListener(`click`, ()=>{ 42 | i.c.close(); 43 | }) 44 | }) 45 | 46 | document.querySelector(`.newTab`).addEventListener("click", ()=>{ 47 | selectedTab = window.currentTabID + 1; 48 | new site(localStorage.getItem(`newTabPage`)); 49 | }) 50 | 51 | if(!tabIsSelected){ 52 | if(tabs.length > 0){ 53 | selectedTab = tabs[tabs.length - 1]; 54 | let sel = [...document.querySelectorAll(`iframe`)].find((t)=>t.getAttribute(`tabID`) == selectedTab); 55 | document.querySelector(`#search`).value = sel.getAttribute("location") 56 | } 57 | else new site("bussinga://settings.bang"); 58 | uiRefresh(); 59 | } 60 | } 61 | 62 | document.querySelector(`#search`).addEventListener('keydown',(e)=>{ 63 | if(e.key == "Enter"){ 64 | let sel = [...document.querySelectorAll(`iframe`)].find((t)=>t.getAttribute(`tabID`) == selectedTab); 65 | let val = document.querySelector(`#search`).value; 66 | if(!val.includes("://")) val = "buss://" + val; 67 | sel.c.navigate(val) 68 | } 69 | }) 70 | 71 | function refreshCurrentSite(){ 72 | let sel = [...document.querySelectorAll(`iframe`)].find((t)=>t.getAttribute(`tabID`) == window.selectedTab); 73 | sel.c.refresh(); 74 | } 75 | document.querySelector(`#refreshPage`).addEventListener(`click`, refreshCurrentSite) 76 | document.querySelector(`#settings`).addEventListener(`click`, ()=>{ 77 | selectedTab = window.currentTabID + 1; 78 | new site(`bussinga://settings.bang`); 79 | }) --------------------------------------------------------------------------------