From d9286ebe241e5e7586df339a2e84810df10dab11 Mon Sep 17 00:00:00 2001 From: brotoskyj Date: Tue, 24 Dec 2024 13:04:39 -0500 Subject: [PATCH] Initial Commit --- Cargo.lock | 4817 +++++++++++++++++++++++++++++++++++++++ Cargo.toml | 34 + assets/jiggler.ico | Bin 0 -> 161854 bytes build.rs | 5 + src/main.rs | 26 + src/mouse/mod.rs | 1 + src/mouse/windowsapi.rs | 24 + ui/dancing.jpeg | Bin 0 -> 5984 bytes ui/jiggler.jpeg | Bin 0 -> 6708 bytes ui/template.slint | 80 + 10 files changed, 4987 insertions(+) create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 assets/jiggler.ico create mode 100644 build.rs create mode 100644 src/main.rs create mode 100644 src/mouse/mod.rs create mode 100644 src/mouse/windowsapi.rs create mode 100644 ui/dancing.jpeg create mode 100644 ui/jiggler.jpeg create mode 100644 ui/template.slint diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..ae0f2a0 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,4817 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79faae4620f45232f599d9bc7b290f88247a0834162c4495ab2f02d60004adfb" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "accesskit" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" + +[[package]] +name = "accesskit_atspi_common" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9357ba093d0c8c234840f126efa71d09b848027b2963f553940021fb07bbf076" +dependencies = [ + "accesskit", + "accesskit_consumer", + "atspi-common", + "serde", + "thiserror", + "zvariant", +] + +[[package]] +name = "accesskit_consumer" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6114c157d5b02e24b38e929afe99324f2f9cc116ce7d49fdbf3fea111369c14" +dependencies = [ + "accesskit", +] + +[[package]] +name = "accesskit_macos" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded5f12ee8af8d8dae8de4ef96bc6abdd94735973ba97bbd426da41005252553" +dependencies = [ + "accesskit", + "accesskit_consumer", + "icrate 0.1.2", + "objc2 0.5.2", + "once_cell", +] + +[[package]] +name = "accesskit_unix" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "454040abdc130ca45d9142cc6ea0b196fb53119f62600d88665ae6090d597f3e" +dependencies = [ + "accesskit", + "accesskit_atspi_common", + "async-channel", + "async-executor", + "async-task", + "atspi", + "futures-lite 1.13.0", + "futures-util", + "once_cell", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.16.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b698c3561514806519d28c63b6a2b1f5797f5ae3042a9caa4d64b7b928ff69" +dependencies = [ + "accesskit", + "accesskit_consumer", + "once_cell", + "paste", + "static_assertions", + "windows 0.54.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.18.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d80d7aa92a9334120580e9fe2028670f48f2b1a30cdf8bfd3d038c2f430345" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "raw-window-handle 0.6.2", + "winit", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "android-activity" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +dependencies = [ + "android-properties", + "bitflags 2.6.0", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand 2.1.0", + "futures-lite 2.3.0", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +dependencies = [ + "async-lock 3.4.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.3.0", + "parking", + "polling 3.7.2", + "rustix 0.38.34", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener 5.3.1", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.34", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "async-signal" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +dependencies = [ + "async-io 2.3.3", + "async-lock 3.4.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.34", + "signal-hook-registry", + "slab", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atspi" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" +dependencies = [ + "atspi-common", + "atspi-connection", + "atspi-proxies", +] + +[[package]] +name = "atspi-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" +dependencies = [ + "enumflags2", + "serde", + "static_assertions", + "zbus", + "zbus_names", + "zvariant", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus", +] + +[[package]] +name = "atspi-proxies" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +dependencies = [ + "atspi-common", + "serde", + "zbus", +] + +[[package]] +name = "auto_enums" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1899bfcfd9340ceea3533ea157360ba8fa864354eccbceab58e1006ecab35393" +dependencies = [ + "derive_utils", + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bindgen" +version = "0.69.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.71", + "which", +] + +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +dependencies = [ + "block-sys", + "objc2 0.4.1", +] + +[[package]] +name = "block2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f" +dependencies = [ + "block-sys", + "objc2 0.5.2", +] + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite 2.3.0", + "piper", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "by_address" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" + +[[package]] +name = "bytemuck" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" + +[[package]] +name = "calloop" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" +dependencies = [ + "bitflags 2.6.0", + "log", + "polling 3.7.2", + "rustix 0.38.34", + "slab", + "thiserror", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +dependencies = [ + "calloop", + "rustix 0.38.34", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "cc" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.4", +] + +[[package]] +name = "clipboard-win" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342" +dependencies = [ + "lazy-bytes-cast", + "winapi", +] + +[[package]] +name = "clru" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" + +[[package]] +name = "cocoa" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "codemap" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e769b5c8c8283982a987c6e948e540254f1058d5a74b8794914d4ef5fc2a24" + +[[package]] +name = "codemap-diagnostic" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc20770be05b566a963bf91505e60412c4a2d016d1ef95c5512823bb085a8122" +dependencies = [ + "codemap", + "termcolor", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-field-offset" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fcde4ca1211b5a94b573083c472ee19e86b19a441913f66e1cc5c41daf0255" +dependencies = [ + "const-field-offset-macro", + "field-offset", +] + +[[package]] +name = "const-field-offset-macro" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5387f5bbc9e9e6c96436ea125afa12614cebf8ac67f49abc08c1e7a891466c90" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "copypasta" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858" +dependencies = [ + "clipboard-win", + "objc", + "objc-foundation", + "objc_id", + "smithay-clipboard", + "x11-clipboard", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "core-text" +version = "20.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" +dependencies = [ + "core-foundation", + "core-graphics", + "foreign-types", + "libc", +] + +[[package]] +name = "countme" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636" + +[[package]] +name = "cpp" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64" +dependencies = [ + "cpp_macros", +] + +[[package]] +name = "cpp_build" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b" +dependencies = [ + "cc", + "cpp_common", + "lazy_static", + "proc-macro2", + "regex", + "syn 2.0.71", + "unicode-xid", +] + +[[package]] +name = "cpp_common" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1" +dependencies = [ + "lazy_static", + "proc-macro2", + "syn 2.0.71", +] + +[[package]] +name = "cpp_macros" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd" +dependencies = [ + "aho-corasick", + "byteorder", + "cpp_common", + "lazy_static", + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "css-color-parser2" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8ed1639f4b56ec6f31d007ff66ce4a13099dce5a9995d48368a30d62bf04bd" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "ctor-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" + +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.71", +] + +[[package]] +name = "derive_utils" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61bb5a1014ce6dfc2a378578509abe775a5aa06bff584a547555d9efdb81b926" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.8.4", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "drm" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f" +dependencies = [ + "bitflags 1.3.2", + "bytemuck", + "drm-ffi", + "drm-fourcc", + "nix 0.26.4", +] + +[[package]] +name = "drm-ffi" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525" +dependencies = [ + "drm-sys", + "nix 0.26.4", +] + +[[package]] +name = "drm-fourcc" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" + +[[package]] +name = "drm-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d" +dependencies = [ + "libc", +] + +[[package]] +name = "dwrote" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" +dependencies = [ + "lazy_static", + "libc", + "serde", + "serde_derive", + "winapi", + "wio", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "enumflags2" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "euclid" +version = "0.22.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" +dependencies = [ + "num-traits", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite", +] + +[[package]] +name = "exr" +version = "1.72.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "femtovg" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47921d14afc4daad9bedc926099bc6edcaa23e37a957448f86cdefcbafe2f632" +dependencies = [ + "bitflags 2.6.0", + "fnv", + "glow", + "image 0.25.1", + "imgref", + "log", + "lru", + "rgb", + "rustybuzz 0.14.1", + "slotmap", + "unicode-bidi", + "unicode-segmentation", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset 0.9.1", + "rustc_version", +] + +[[package]] +name = "filetime" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", +] + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "spin", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fontconfig-parser" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d" +dependencies = [ + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2 0.9.4", + "slotmap", + "tinyvec", + "ttf-parser 0.20.0", +] + +[[package]] +name = "fontdue" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9099a2f86b8e674b75d03ff154b3fe4c5208ed249ced8d69cc313a9fa40bb488" +dependencies = [ + "hashbrown", + "ttf-parser 0.20.0", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand 2.1.0", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gbm" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ec389cda876966cf824111bf6e533fb934c711d473498279964a990853b3c6" +dependencies = [ + "bitflags 1.3.2", + "drm", + "drm-fourcc", + "gbm-sys", + "libc", +] + +[[package]] +name = "gbm-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63eba9b9b7a231514482deb08759301c9f9f049ac6869403f381834ebfeaf67" +dependencies = [ + "libc", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "gethostname" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gif" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "glow" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" +dependencies = [ + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "cgl", + "core-foundation", + "dispatch", + "glutin_egl_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "icrate 0.0.4", + "libloading 0.8.4", + "objc2 0.4.1", + "once_cell", + "raw-window-handle 0.5.2", + "wayland-sys", + "windows-sys 0.48.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" +dependencies = [ + "cfg_aliases 0.1.1", + "glutin", + "raw-window-handle 0.5.2", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd" +dependencies = [ + "gl_generator", + "windows-sys 0.48.0", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a165fd686c10dcc2d45380b35796e577eacfd43d4660ee741ec8ebe2201b3b4f" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "i-slint-backend-linuxkms" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734d8fb9fe4ec1e16b037fed68da4d41f2a61ac4114f7cff22c4df242771fb08" +dependencies = [ + "calloop", + "drm", + "gbm", + "gbm-sys", + "glutin", + "i-slint-common", + "i-slint-core", + "i-slint-renderer-femtovg", + "input", + "nix 0.27.1", + "raw-window-handle 0.5.2", + "xkbcommon", +] + +[[package]] +name = "i-slint-backend-qt" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39bdf955542e1ae8ebb0f7f5bd88d310d4f375cc84d9ca77db8d897b8f00d2f9" +dependencies = [ + "const-field-offset", + "cpp", + "cpp_build", + "i-slint-common", + "i-slint-core", + "i-slint-core-macros", + "lyon_path", + "once_cell", + "pin-project", + "pin-weak", + "qttypes", + "vtable", +] + +[[package]] +name = "i-slint-backend-selector" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb82314416726feb9b4b67e369df1f9ca5a2286a57a3a8ba1101ac59dc047b9a" +dependencies = [ + "cfg-if", + "i-slint-backend-linuxkms", + "i-slint-backend-qt", + "i-slint-backend-winit", + "i-slint-common", + "i-slint-core", +] + +[[package]] +name = "i-slint-backend-winit" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "714c7d4f0f7536dd278f935b3aa57224b8f4458ebc96ecdf02aa916d11dbb63d" +dependencies = [ + "accesskit", + "accesskit_winit", + "bytemuck", + "cfg-if", + "cfg_aliases 0.2.1", + "cocoa", + "const-field-offset", + "copypasta", + "derive_more", + "glutin", + "glutin-winit", + "i-slint-common", + "i-slint-core", + "i-slint-core-macros", + "i-slint-renderer-femtovg", + "i-slint-renderer-skia", + "imgref", + "lyon_path", + "once_cell", + "pin-weak", + "raw-window-handle 0.5.2", + "rgb", + "scoped-tls-hkt", + "scopeguard", + "softbuffer", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "i-slint-common" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98770ce4f006a76efa0c728857a29fdca2dcad5dc0442f0aa786a28bbf9dcab1" +dependencies = [ + "cfg-if", + "derive_more", + "fontdb", + "libloading 0.8.4", +] + +[[package]] +name = "i-slint-compiler" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f2f6ebf56a7c2845868e01e111558b0e2e8164a3514a7fd54ab3edc2b6c3a83" +dependencies = [ + "by_address", + "codemap", + "codemap-diagnostic", + "css-color-parser2", + "derive_more", + "fontdue", + "i-slint-common", + "image 0.24.9", + "itertools", + "linked_hash_set", + "lyon_extra", + "lyon_path", + "num_enum", + "once_cell", + "proc-macro2", + "quote", + "resvg", + "rowan", + "smol_str", + "strum", + "thiserror", + "url", +] + +[[package]] +name = "i-slint-core" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e40b1c61efe0fc5fbccdb68b23381d312ff6bf0a5cbdd72a6c7e9a669277240d" +dependencies = [ + "auto_enums", + "bitflags 2.6.0", + "bytemuck", + "cfg-if", + "clru", + "const-field-offset", + "derive_more", + "euclid", + "fontdue", + "i-slint-common", + "i-slint-core-macros", + "image 0.24.9", + "integer-sqrt", + "lyon_algorithms", + "lyon_extra", + "lyon_geom", + "lyon_path", + "num-traits", + "once_cell", + "pin-project", + "pin-weak", + "portable-atomic", + "raw-window-handle 0.6.2", + "resvg", + "rgb", + "rustybuzz 0.13.0", + "scoped-tls-hkt", + "scopeguard", + "slab", + "static_assertions", + "strum", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", + "vtable", + "wasm-bindgen", + "web-sys", + "web-time 1.1.0", +] + +[[package]] +name = "i-slint-core-macros" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12bed18eb2f3910f85ce4a4bb4c0d770147e76c072a48c845d86ad59c169c24b" +dependencies = [ + "quote", + "syn 2.0.71", +] + +[[package]] +name = "i-slint-renderer-femtovg" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8c32b7651861322f39d730bf116e9a585a77d6c66fc63a4377c16bf37c869d" +dependencies = [ + "cfg-if", + "const-field-offset", + "core-foundation", + "core-text", + "derive_more", + "dwrote", + "femtovg", + "glow", + "i-slint-common", + "i-slint-core", + "i-slint-core-macros", + "imgref", + "lyon_path", + "once_cell", + "pin-weak", + "raw-window-handle 0.5.2", + "rgb", + "scoped-tls-hkt", + "ttf-parser 0.20.0", + "unicode-script", + "unicode-segmentation", + "wasm-bindgen", + "web-sys", + "winapi", +] + +[[package]] +name = "i-slint-renderer-skia" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b923fc4cff196bc6cd9f32f34b8b73957d0aecd1c43fabb174481eb57cc9b08" +dependencies = [ + "bytemuck", + "cfg-if", + "cfg_aliases 0.2.1", + "cocoa", + "const-field-offset", + "core-foundation", + "core-graphics-types", + "derive_more", + "foreign-types", + "glow", + "glutin", + "i-slint-common", + "i-slint-core", + "i-slint-core-macros", + "lyon_path", + "metal", + "objc", + "once_cell", + "pin-weak", + "raw-window-handle 0.5.2", + "scoped-tls-hkt", + "skia-safe", + "softbuffer", + "unicode-segmentation", + "vtable", + "windows 0.54.0", +] + +[[package]] +name = "icrate" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" +dependencies = [ + "block2 0.3.0", + "dispatch", + "objc2 0.4.1", +] + +[[package]] +name = "icrate" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642" +dependencies = [ + "block2 0.4.0", + "objc2 0.5.2", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder", + "num-traits", + "png", + "qoi", + "tiff", +] + +[[package]] +name = "image" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" +dependencies = [ + "bytemuck", + "byteorder", + "num-traits", +] + +[[package]] +name = "imagesize" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" + +[[package]] +name = "imgref" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126" + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "input" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e74cd82cedcd66db78742a8337bdc48f188c4d2c12742cbc5cd85113f0b059" +dependencies = [ + "bitflags 1.3.2", + "input-sys", + "io-lifetimes", + "libc", + "log", + "udev", +] + +[[package]] +name = "input-sys" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd4f5b4d1c00331c5245163aacfe5f20be75b564c7112d45893d4ae038119eb0" + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jiggler" +version = "1.0.0" +dependencies = [ + "slint", + "slint-build", + "windows 0.56.0", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" +dependencies = [ + "rayon", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "kurbo" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5aa9f0f96a938266bdb12928a67169e8d22c6a786fda8ed984b85e6ba93c3c" +dependencies = [ + "arrayvec", + "smallvec", +] + +[[package]] +name = "lazy-bytes-cast" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b" + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libudev-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linked_hash_set" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" + +[[package]] +name = "lyon_algorithms" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3bca95f9a4955b3e4a821fbbcd5edfbd9be2a9a50bb5758173e5358bfb4c623" +dependencies = [ + "lyon_path", + "num-traits", +] + +[[package]] +name = "lyon_extra" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c4a243ce61e7e5f3ae6c72a88d8fb081b6c69f13500c15e99cfd1159a833b20" +dependencies = [ + "lyon_path", + "thiserror", +] + +[[package]] +name = "lyon_geom" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9" +dependencies = [ + "arrayvec", + "euclid", + "num-traits", +] + +[[package]] +name = "lyon_path" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c08a606c7a59638d6c6aa18ac91a06aa9fb5f765a7efb27e6a4da58700740d7" +dependencies = [ + "lyon_geom", + "num-traits", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" +dependencies = [ + "libc", +] + +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.6.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", +] + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +dependencies = [ + "objc-sys", + "objc2-encode 3.0.0", +] + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode 4.0.3", +] + +[[package]] +name = "objc2-encode" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +dependencies = [ + "critical-section", + "portable-atomic", +] + +[[package]] +name = "orbclient" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490d3a563d3122bf7c911a59b0add9389e5ec0f5f0c3ac6b91ff235a0e6a7f90" +dependencies = [ + "ttf-parser 0.24.0", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pin-weak" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b330c9d1b92dfe68442ca20b009c717d5f0b1e3cf4965e62f704c3c6e95a1305" + +[[package]] +name = "piper" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +dependencies = [ + "atomic-waker", + "fastrand 2.1.0", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "png" +version = "0.17.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +dependencies = [ + "critical-section", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "prettyplease" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn 2.0.71", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "qttypes" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d405b0934e4176fb264d6ca597e5c8c2fba562fa155cba681ca160c1eb7edc6e" +dependencies = [ + "cpp", + "cpp_build", + "semver", +] + +[[package]] +name = "quick-xml" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "resvg" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2327ced609dadeed3e9702fec3e6b2ddd208758a9268d13e06566c6101ba533" +dependencies = [ + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", +] + +[[package]] +name = "rgb" +version = "0.8.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "rowan" +version = "0.15.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a58fa8a7ccff2aec4f39cc45bf5f985cec7125ab271cf681c279fd00192b49" +dependencies = [ + "countme", + "hashbrown", + "memoffset 0.9.1", + "rustc-hash", + "text-size", +] + +[[package]] +name = "roxmltree" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "rustybuzz" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88117946aa1bfb53c2ae0643ceac6506337f44887f8c9fbfb43587b1cc52ba49" +dependencies = [ + "bitflags 2.6.0", + "bytemuck", + "smallvec", + "ttf-parser 0.20.0", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.6.0", + "bytemuck", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scoped-tls-hkt" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ddc765d3410d9f6c6ca071bf0b67f6b01e3ec4595dc3892f02677e75819dddc" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sctk-adwaita" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70b31447ca297092c5a9916fc3b955203157b37c19ca8edde4f52e9843e602c7" +dependencies = [ + "ab_glyph", + "log", + "memmap2 0.9.4", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "serde" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "serde_json" +version = "1.0.120" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simplecss" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" +dependencies = [ + "log", +] + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "skia-bindings" +version = "0.72.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace7c5359ccb009880e65958eaf1e2fa68ee19ada6931300c2f1942f84abf2c3" +dependencies = [ + "bindgen", + "cc", + "flate2", + "heck 0.4.1", + "lazy_static", + "regex", + "serde_json", + "tar", + "toml", +] + +[[package]] +name = "skia-safe" +version = "0.72.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a4a3df502b317456a34df181ac67a7a6443b0f2e4b883ac220dba1dcb3ce38" +dependencies = [ + "bitflags 2.6.0", + "lazy_static", + "skia-bindings", + "windows 0.54.0", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slint" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0296f559dca60687e5a4208f94ae462f8b410c8e46288b6052747fe34bd7365a" +dependencies = [ + "const-field-offset", + "i-slint-backend-qt", + "i-slint-backend-selector", + "i-slint-core", + "i-slint-renderer-femtovg", + "num-traits", + "once_cell", + "pin-weak", + "slint-macros", + "vtable", +] + +[[package]] +name = "slint-build" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a2c87c4f1fb80f6a0af909e702ed3d782a1e388de04738be041c8f1dc5dfd5" +dependencies = [ + "i-slint-compiler", + "spin_on", + "thiserror", + "toml_edit 0.22.15", +] + +[[package]] +name = "slint-macros" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcd7a3c3bd28d9f5dc8632183d14abccd99985a125a842f991907635485b6768" +dependencies = [ + "i-slint-compiler", + "proc-macro2", + "quote", + "spin_on", +] + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smithay-client-toolkit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" +dependencies = [ + "bitflags 2.6.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2 0.9.4", + "rustix 0.38.34", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d" +dependencies = [ + "libc", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "softbuffer" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f266ce2aa23eaaaa4e758ed44495d505d00fb79f359d46f6c1900cb053123b62" +dependencies = [ + "as-raw-xcb-connection", + "bytemuck", + "cfg_aliases 0.1.1", + "cocoa", + "core-graphics", + "fastrand 2.1.0", + "foreign-types", + "js-sys", + "log", + "memmap2 0.9.4", + "objc", + "raw-window-handle 0.5.2", + "redox_syscall 0.4.1", + "rustix 0.38.34", + "tiny-xlib", + "wasm-bindgen", + "wayland-backend", + "wayland-client", + "wayland-sys", + "web-sys", + "windows-sys 0.48.0", + "x11rb 0.12.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spin_on" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076e103ed41b9864aa838287efe5f4e3a7a0362dd00671ae62a212e5e4612da2" +dependencies = [ + "pin-utils", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.71", +] + +[[package]] +name = "svgtypes" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fae3064df9b89391c9a76a0425a69d124aee9c5c28455204709e72c39868a43c" +dependencies = [ + "kurbo", + "siphasher", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tar" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand 2.1.0", + "rustix 0.38.34", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "text-size" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" + +[[package]] +name = "thiserror" +version = "1.0.62" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.62" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "tiff" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tiny-xlib" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" +dependencies = [ + "as-raw-xcb-connection", + "ctor-lite", + "libloading 0.8.4", + "pkg-config", + "tracing", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.15", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.13", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "ttf-parser" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8686b91785aff82828ed725225925b33b4fde44c4bb15876e5f7c832724c420a" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "udev" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a" +dependencies = [ + "libc", + "libudev-sys", + "pkg-config", +] + +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset 0.9.1", + "tempfile", + "winapi", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + +[[package]] +name = "unicode-script" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-vo" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "usvg" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c704361d822337cfc00387672c7b59eaa72a1f0744f62b2a68aa228a0c6927d" +dependencies = [ + "base64", + "data-url", + "flate2", + "fontdb", + "imagesize", + "kurbo", + "log", + "pico-args", + "roxmltree", + "rustybuzz 0.13.0", + "simplecss", + "siphasher", + "strict-num", + "svgtypes", + "tiny-skia-path", + "unicode-bidi", + "unicode-script", + "unicode-vo", + "xmlwriter", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "vtable" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "379cd4a9d99f35bcf1687282268b94b59f14b098cba210632605f39709230963" +dependencies = [ + "const-field-offset", + "portable-atomic", + "stable_deref_trait", + "vtable-macro", +] + +[[package]] +name = "vtable-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68c1b85ec843d3bc60e9d65fa7e00ce6549416a25c267b5ea93e6c81e3aa66e5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.71", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wayland-backend" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" +dependencies = [ + "cc", + "downcast-rs", + "rustix 0.38.34", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" +dependencies = [ + "bitflags 2.6.0", + "rustix 0.38.34", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.6.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" +dependencies = [ + "rustix 0.38.34", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "weezl" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.34", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "winapi-wsapoll" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eafc5f679c576995526e81635d0cf9695841736712b4e892f87abbe6fed3f28" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +dependencies = [ + "windows-core 0.54.0", + "windows-implement 0.53.0", + "windows-interface 0.53.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" +dependencies = [ + "windows-core 0.56.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" +dependencies = [ + "windows-implement 0.56.0", + "windows-interface 0.56.0", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "windows-implement" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "windows-interface" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "windows-interface" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winit" +version = "0.29.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.6.0", + "bytemuck", + "calloop", + "cfg_aliases 0.1.1", + "core-foundation", + "core-graphics", + "cursor-icon", + "icrate 0.0.4", + "js-sys", + "libc", + "log", + "memmap2 0.9.4", + "ndk", + "ndk-sys", + "objc2 0.4.1", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", + "redox_syscall 0.3.5", + "rustix 0.38.34", + "sctk-adwaita", + "smithay-client-toolkit", + "smol_str", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time 0.2.4", + "windows-sys 0.48.0", + "x11-dl", + "x11rb 0.13.1", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +dependencies = [ + "memchr", +] + +[[package]] +name = "wio" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" +dependencies = [ + "winapi", +] + +[[package]] +name = "x11-clipboard" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286" +dependencies = [ + "libc", + "x11rb 0.13.1", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname 0.3.0", + "libc", + "libloading 0.7.4", + "nix 0.26.4", + "once_cell", + "winapi", + "winapi-wsapoll", + "x11rb-protocol 0.12.0", +] + +[[package]] +name = "x11rb" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +dependencies = [ + "as-raw-xcb-connection", + "gethostname 0.4.3", + "libc", + "libloading 0.8.4", + "once_cell", + "rustix 0.38.34", + "x11rb-protocol 0.13.1", +] + +[[package]] +name = "x11rb-protocol" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" +dependencies = [ + "nix 0.26.4", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" + +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys 0.4.14", + "rustix 0.38.34", +] + +[[package]] +name = "xcursor" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" + +[[package]] +name = "xdg-home" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "xkbcommon" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e" +dependencies = [ + "libc", + "memmap2 0.8.0", + "xkeysym", +] + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.6.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + +[[package]] +name = "zbus" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.4", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zvariant" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..d5cd0cf --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "jiggler" +version = "1.0.0" +edition = "2021" + +[dependencies] +slint = "1.6.0" + +[dependencies.windows] +version = "0.56.0" +features = [ + "Data_Xml_Dom", + "Win32_Foundation", + "Win32_Security", + "Win32_System_Threading", + "Win32_UI_WindowsAndMessaging", + "Win32_UI_Input_KeyboardAndMouse", +] + +[build] +build = "build.rs" + +[build-dependencies] +slint-build = "1.6.0" + +[profile.release] +opt-level = "z" +lto = "fat" +debug = false +codegen-units = 1 +panic = 'abort' +strip = true +debug-assertions = false +overflow-checks = false \ No newline at end of file diff --git a/assets/jiggler.ico b/assets/jiggler.ico new file mode 100644 index 0000000000000000000000000000000000000000..22fc69a8f0d04c09bb6e69933c1c84caff030aaf GIT binary patch literal 161854 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 BPOAU_ literal 0 HcmV?d00001 diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..39caa4c --- /dev/null +++ b/build.rs @@ -0,0 +1,5 @@ +fn main() { + let config = slint_build::CompilerConfiguration::new() + .with_style("fluent-dark".into()); + slint_build::compile_with_config("ui/template.slint", config).unwrap(); +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..0a3ab99 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,26 @@ +#![windows_subsystem = "windows"] +slint::slint!(); +slint::include_modules!(); +use mouse::windowsapi::jigglemouse; +mod mouse; +use std::thread; + +static mut JIGGLING: bool = false; +fn main() { + let app: MainWindow = MainWindow::new().unwrap(); + let _weak = app.as_weak(); + let test = app.on_secondcounter(move |string| println!("{}", string)); + app.on_startjiggle(move || { + unsafe { + JIGGLING = true + }; + thread::spawn(|| jigglemouse()); + println!("{:?}", test); + }); + app.on_stopjiggle( move || { + unsafe { + JIGGLING = false + }; + }); + app.run().unwrap(); +} diff --git a/src/mouse/mod.rs b/src/mouse/mod.rs new file mode 100644 index 0000000..3a2084b --- /dev/null +++ b/src/mouse/mod.rs @@ -0,0 +1 @@ +pub mod windowsapi; \ No newline at end of file diff --git a/src/mouse/windowsapi.rs b/src/mouse/windowsapi.rs new file mode 100644 index 0000000..44e19dd --- /dev/null +++ b/src/mouse/windowsapi.rs @@ -0,0 +1,24 @@ +use std::{thread, time::Duration}; +use windows::Win32::UI::Input::KeyboardAndMouse::{mouse_event, MOUSE_EVENT_FLAGS}; +use crate::JIGGLING; + + +#[cfg(target_family = "windows")] +pub fn jigglemouse() { + unsafe { + while JIGGLING == true { + mouse_event(MOUSE_EVENT_FLAGS(1), 0, 0, 0, 0); + thread::sleep(Duration::from_millis(5000)); + } + } +} + +#[cfg(target_family = "unix")] +pub fn jigglemouse () { + unsafe{ + while JIGGLING == true { + println!("Hello World!"); + thread::sleep(Duration::from_millis(1000)); + } + } +} \ No newline at end of file diff --git a/ui/dancing.jpeg b/ui/dancing.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3649d655a9a7247aee46818efe3a2129f92948b8 GIT binary patch literal 5984 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 B{3QSY literal 0 HcmV?d00001 diff --git a/ui/jiggler.jpeg b/ui/jiggler.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b81d151ebfac9ad47e4ec8763e77dbfa1ffef886 GIT binary patch literal 6708 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 A+5i9m literal 0 HcmV?d00001 diff --git a/ui/template.slint b/ui/template.slint new file mode 100644 index 0000000..485fce4 --- /dev/null +++ b/ui/template.slint @@ -0,0 +1,80 @@ +import { Switch, CheckBox, ScrollView, SpinBox } from "std-widgets.slint"; +export component MainWindow inherits Window { + width: 400px; + height: 200px; + title: @tr("Mouse Jiggler"); + icon: @image-url("jiggler.jpeg"); + callback startjiggle; + callback stopjiggle; + callback secondcounter(string); + Switch { + width: 148px; + height: 48px; + text: "Toggle Jiggle"; + checked: false; + toggled => { + if (self.checked) { + startjiggle(); + picture.source = @image-url("dancing.jpeg"); + } else { + stopjiggle(); + picture.source = @image-url("jiggler.jpeg"); + } + } + x: 20px; + y: 15px; + } + + CheckBox { + text: "Zen Mode"; + x: 20px; + y: 55px; + checked: true; + toggled => { + if (self.checked) { + spinbox.visible = false; + seconds.visible = false; + } else { + spinbox.visible = true; + seconds.visible = true; + } + } + } + + spinbox := SpinBox { + width: 93px; + height: 30px; + minimum: 5; + value: 5; + + maximum: 10; + x: 23px; + y: 90px; + visible: false; + } + + seconds := Text { + text: "Seconds between moves"; + x: 125px; + y: 95px; + visible: false; + wrap: word-wrap; + } + + picture := Image { + width: 85px; + height: 118px; + source: @image-url("jiggler.jpeg"); + x: 300px; + y: 8px; + } + + Text { + height: 50px; + width: 350px; + text: "Disabling Zen Mode will cause the actual cursor to move. This might make it difficult to stop the jiggler. So disabling Zen Mode will allow you to control the time between moves."; + x: 10px; + y: 130px; + wrap: word-wrap; + } +}